2 条题解
-
0
#include<bits/stdc++.h> using namespace std; const int N=5e3+10; struct node{int p,v;}a[N]; bool cmp(node n1,node n2){return n1.p<n2.p;} int main() { int n,L;scanf("%d%d",&L,&n); for(int i=1;i<=n;i++)scanf("%d%d",&a[i].p,&a[i].v); sort(a+1,a+n+1,cmp); int ans=0; for(int i=1;i<=n;i++) { if(a[i].v>=L) { ans+=a[i].p*L; break; } else { ans+=a[i].p*a[i].v; L-=a[i].v; } } printf("%d\n",ans); return 0; } -
0
#include<bits/stdc++.h> using namespace std; const int N=5e3+10; struct node{int p,v;}a[N]; bool cmp(node n1,node n2){return n1.p<n2.p;} int main() { int n,L;scanf("%d%d",&L,&n); for(int i=1;i<=n;i++)scanf("%d%d",&a[i].p,&a[i].v); sort(a+1,a+n+1,cmp); int ans=0; for(int i=1;i<=n;i++) { if(a[i].v>=L) { ans+=a[i].p*L; break; } else { ans+=a[i].p*a[i].v; L-=a[i].v; } } printf("%d\n",ans); return 0; }
- 1
信息
- ID
- 989
- 时间
- 1000ms
- 内存
- 128MiB
- 难度
- 6
- 标签
- 递交数
- 245
- 已通过
- 78
- 上传者