2 solutions
-
1
#include<bits/stdc++.h> using namespace std; typedef int in; struct Stu{ int shuxue,yinyu,totel,id; }; Stu a[11110]; bool st[11110]; bool cmp1(Stu a,Stu b) { if(a.shuxue>b.shuxue) return 1; if(a.shuxue==b.shuxue&&a.id<b.id) return 1; return 0; } bool cmp2(Stu a,Stu b) { if(a.yinyu>b.yinyu) return 1; if(a.yinyu==b.yinyu&&a.id<b.id) return 1; return 0; } bool cmp3(Stu a,Stu b) { if(a.totel>b.totel) return 1; if(a.totel==b.totel&&a.id<b.id) return 1; return 0; } int main() { in n,x,y,z;cin>>n>>x>>y>>z; for(in i=1;i<=n;i++) { cin>>a[i].shuxue; a[i].id=i; } for(in i=1;i<=n;i++) { cin>>a[i].yinyu; a[i].totel=a[i].yinyu+a[i].shuxue; } sort(a+1,a+n+1,cmp1); for(in i=1;i<=x;i++) { st[a[i].id]=1; a[i].shuxue=a[i].yinyu=a[i].totel=-1; //cout<<a[i].id<<" "; } sort(a+1,a+n+1,cmp2); for(in i=1;i<=y;i++) { st[a[i].id]=1; a[i].shuxue=a[i].yinyu=a[i].totel=-1; } sort(a+1,a+n+1,cmp3); for(in i=1;i<=z;i++) { st[a[i].id]=1; a[i].shuxue=a[i].yinyu=a[i].totel=-1; //cout<<a[i].id<<" "; } for(in i=1;i<=n;i++) { if(st[i]==1) { cout<<i<<endl; } } return 0; } -
1
#include<bits/stdc++.h> using namespace std; const int N=1010; struct Node{ int yingyu,shuxue,total,id; }s[N]; bool st[N]; bool cmp1(Node a,Node b) { if(a.shuxue>b.shuxue) return 1; if(a.shuxue==b.shuxue&&a.id<b.id) return 1; return 0; } bool cmp2(Node a,Node b) { if(a.yingyu>b.yingyu) return 1; if(a.yingyu==b.yingyu&&a.id<b.id) return 1; return 0; } bool cmp3(Node a,Node b) { if(a.total>b.total) return 1; if(a.total==b.total&&a.id<b.id) return 1; return 0; } int main() { int n,x,y,z; cin>>n>>x>>y>>z; for(int i=1;i<=n;i++) { cin>>s[i].shuxue; s[i].id=i; } for(int i=1;i<=n;i++) { cin>>s[i].yingyu; s[i].total=s[i].shuxue+s[i].yingyu; } sort(s+1,s+n+1,cmp1); for(int i=1;i<=x;i++) { st[s[i].id]=1; s[i].yingyu=s[i].shuxue=s[i].total=-1; } sort(s+1,s+n+1,cmp2); for(int i=1;i<=y;i++) { st[s[i].id]=1; s[i].yingyu=s[i].shuxue=s[i].total=-1; } sort(s+1,s+n+1,cmp3); for(int i=1;i<=z;i++) { st[s[i].id]=1; s[i].yingyu=s[i].shuxue=s[i].total=-1; } for(int i=1;i<=n;i++) { if(st[i]==1) { cout<<i<<endl; } } return 0; }
- 1
Information
- ID
- 2613
- Time
- 1000ms
- Memory
- 256MiB
- Difficulty
- 3
- Tags
- # Submissions
- 6
- Accepted
- 4
- Uploaded By