Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<bits/stdc++.h>
- #include <string>
- using namespace std;
- struct pers{
- int team;
- int number;
- double balls=0;
- };
- bool cmp(pers a,pers b){
- if(a.balls!=b.balls) return a.balls>b.balls;
- return a.number>b.number;
- }
- pers a[1000001];
- pers ans[1000000];
- int main()
- {
- ifstream cin("input.txt");
- ofstream cout("output.txt");
- cout.setf(ios::fixed);
- cout.precision(2);
- int n;
- cin>>n;
- long long sum=0;
- int q[201];
- for(int i=0;i<n;i++){
- int t;
- cin>>t;
- sum+=t;
- }
- for(int i=0;i<n;i++){
- cin>>q[i];
- }
- for(int i=0;i<sum;i++){
- cin>>a[i].number;
- cin>>a[i].team;
- cin>>a[i].balls;
- double a2,a3,a4;
- cin>>a2>>a3>>a4;
- a[i].balls+=(a2+a3+a4);
- }
- stable_sort(a,a+sum,cmp);
- int ans1=0;
- int last_el[1000]={0};
- for(int i=0;i<sum;i++){
- if(q[a[i].team-1]>0 && a[i].balls!=0 && a[i].balls!=last_el[a[i].team-1] ){
- last_el[a[i].team-1]=a[i].balls;
- q[a[i].team-1]--;
- ans[ans1].balls=a[i].balls;
- ans[ans1].number=a[i].number;
- ans1++;
- }
- else if( a[i].balls!=0 && a[i].balls==last_el[a[i].team-1]){
- ans[ans1].balls=a[i].balls;
- ans[ans1].number=a[i].number;
- ans1++;
- }
- }
- cout<<ans1<<endl;
- for(int i=0;i<ans1;i++){
- cout<<ans[i].number<<" "<<ans[i].balls<<endl;
- }
- cin.close();
- cout.close();
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement