我改了一下,#2AC,#3WA,其余RE?
```cpp
#include <cstdio>
#include <algorithm>
using namespace std;
int n,m,i,j,ans,a[2000000],b[2000000];
int main(){
scanf ("%d %d\n",&m,&n);
for (;i<n;i++)scanf ("%d %d\n",&b[i],&a[i]);
sort (b,b+n);
for (j=0;j<n;j++)for (i=j,ans=i;ans<=m;ans+=b[i++]);
return !printf ("%d",ans);
}
```
by 引领世界 @ 2017-01-03 17:11:54
b是价格,a是供应量。
by 引领世界 @ 2017-01-03 17:13:29
为何改进了一下,#3#4AC,#2答案貌似是0?
```cpp
#include <cstdio>
#include <algorithm>
using namespace std;
int n,m,i,j,ans=1<<30,a[2000000],b[2000000],t,ti;
int main(){
scanf ("%d %d\n",&n,&m);
for (;i<m;i++)scanf ("%d %d\n",&b[i],&a[i]);
for (i=0;i<m;i++){
for (j=i,ti=t=0;ti<=n;ti+=a[j],t+=b[j++]);
if (ans>t)ans=t;
};
printf ("%d",ans);
return 0;
}
```
by 引领世界 @ 2017-01-13 10:52:57
呼呼,终于过了。
```cpp
#include <cstdio>
#include <algorithm>
using namespace std;
int i,n,m,ans;
struct Milk{
int j,s;
}milk[5005];
bool cmp(Milk a,Milk b){
return a.j<b.j;
}
int main(){
scanf ("%d %d\n",&n,&m);
if (n==0&&m==0){printf ("0");return 0;}
for (;i<m;i++)scanf ("%d %d\n",&milk[i].j,&milk[i].s);
sort (milk,milk+m,cmp);
for (i=0;n>0;i++)if (n>=milk[i].s){
n-=milk[i].s;
ans+=milk[i].j*milk[i].s;}
else {
ans+=n*milk[i].j;
break;}
printf ("%d",ans);
return 0;
}
```
by 引领世界 @ 2017-02-03 16:00:02