一个快排,加个贪心就完了
by aleph_blanc @ 2020-01-03 18:54:44
cmp函数:
'<=' ----> '<'
by Ln_YJIn @ 2020-01-03 18:58:10
@[coolzz27](/user/221926) 注意数据范围
by yummy @ 2020-01-03 19:00:53
你可以简化成这样
```cpp
inline int read(){
int r=0,w=1;
char ch=getchar();
while(ch>'9'||ch<'0'){ if(ch=='-') w=-1;ch=getchar(); }
while(ch>='0'&&ch<='9'){ r=r*10+ch-'0'; ch=getchar(); }
return r*w;
}
int n,m,ans;
struct blanc{
int a,p;
}k[5010];
bool cmp(blanc b,blanc c){
return b.p<c.p;
}
int main(){
n=read();m=read();
for(int i=1;i<=m;i++){
k[i].p=read();k[i].a=read();
}
sort(k+1,k+m+1,cmp);
for(int i=1;i<=m,n>0;i++){
if(n-k[i].a>=0){
ans+=k[i].p*k[i].a;
n-=k[i].a;
}//这里可以简化成这样
else{
ans+=n*k[i].p;
n=0;
}
}
cout<<ans;
}
```
by aleph_blanc @ 2020-01-03 19:05:24
码风奇怪不要介意
by aleph_blanc @ 2020-01-03 19:13:46
@[coolzz27](/user/221926)
by aleph_blanc @ 2020-01-03 19:15:02
A了,谢谢
by 李不似 @ 2020-01-03 19:18:06
@[垃圾蒟蒻咕](/user/201283) 感谢,改完就对了
by 李不似 @ 2020-01-03 19:18:26
@[blanc_x](/user/101620) 感谢
by 李不似 @ 2020-01-03 19:19:22
@[垃圾蒟蒻咕](/user/201283) 能讲讲为什么吗。。我也是这个问题
by free1ze @ 2020-01-10 11:18:10