1 条题解
-
0
C++ :
#include<bits/stdc++.h> using namespace std; struct game{//结构体用来存放每个游戏的时间和利益 int t; int r; }a[505]; bool cmp(game a,game b){//cmp函数(结构体排序规则) return a.r>b.r; } bool vis[505];//用来标记该时间是否空闲 int sum;//收益和 int main(){ int n; scanf("%d",&n); for(int i=1;i<=n;i++){ scanf("%d",&a[i].t); } for(int i=1;i<=n;i++){ scanf("%d",&a[i].r); } sort(a+1,a+n+1,cmp);//排序 for(int i=1;i<=n;i++){ bool k=0;//用来记录该任务是否能按时完成 for(int j=a[i].t;j>=1;j--){//按时间从大到小去枚举 if(vis[j]==0){//说明有时间 vis[j]=1;//标记,说明该时间已被占用 k=1;//该任务可以完成 break; } } if(k==1){//若该任务可以完成 sum+=a[i].r;//将该任务的收益加入累加器 } } printf("%d",sum);//输出 return 0; }
信息
- ID
- 5656
- 时间
- 1000ms
- 内存
- 128MiB
- 难度
- (无)
- 标签
- 递交数
- 0
- 已通过
- 0
- 上传者