2 条题解
-
1
#include<bits/stdc++.h> using namespace std; struct abc{ int d,z; }a[20010]; bool cmp(abc a,abc b){ return a.d<b.d; } int main(){ long long n,m; long long s=0; cin>>n>>m; for(int i=0;i<m;i++) cin>>a[i].d>>a[i].z; sort(a,a+m,cmp); long long i,c=n; for(i=0;i<m;i++){ if(a[i].z>c) a[i].z=c; c-=a[i].z; s+=a[i].z*a[i].d; } cout<<s; return 0; } -
0
copy↓
#include<bits/stdc++.h> using namespace std; struct mi{ int price,num; }a[99999999]; bool cmp(mi x,mi y){ return x.price<y.price; } int main(){ int sum,n,i,tot=0,cost=0; cin>>sum>>n; for(i=0;i<n;i++){ cin>>a[i].price>>a[i].num; } sort(a,a+n,cmp); for(i=0;i<n;i++){ if(sum<a[i].num) a[i].num=sum; cost+=a[i].price*a[i].num; sum-=a[i].num; if(sum==0) break; } cout<<cost; }
- 1
信息
- ID
- 207
- 时间
- 1000ms
- 内存
- 125MiB
- 难度
- 3
- 标签
- 递交数
- 1
- 已通过
- 1
- 上传者