Advertisement
Guest User

Untitled

a guest
Oct 23rd, 2019
92
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.53 KB | None | 0 0
  1. #include<bits/stdc++.h>
  2. #include <string>
  3.  
  4. using namespace std;
  5. struct pers{
  6.     int team;
  7.     int number;
  8.     double balls=0;
  9. };
  10. bool cmp(pers a,pers b){
  11.     if(a.balls!=b.balls) return a.balls>b.balls;
  12.     return a.number>b.number;
  13. }
  14. pers a[1000001];
  15. pers ans[1000000];
  16. int main()
  17. {
  18.     ifstream cin("input.txt");
  19.     ofstream cout("output.txt");
  20.     cout.setf(ios::fixed);
  21.     cout.precision(2);
  22.     int n;
  23.     cin>>n;
  24.     long long sum=0;
  25.     int q[201];
  26.     for(int i=0;i<n;i++){
  27.         int t;
  28.         cin>>t;
  29.         sum+=t;
  30.     }
  31.      for(int i=0;i<n;i++){
  32.         cin>>q[i];
  33.     }
  34.     for(int i=0;i<sum;i++){
  35.         cin>>a[i].number;
  36.         cin>>a[i].team;
  37.         cin>>a[i].balls;
  38.         double a2,a3,a4;
  39.         cin>>a2>>a3>>a4;
  40.         a[i].balls+=(a2+a3+a4);
  41.     }
  42.     stable_sort(a,a+sum,cmp);
  43.     int ans1=0;
  44.     int last_el[1000]={0};
  45.     for(int i=0;i<sum;i++){
  46.         if(q[a[i].team-1]>0 && a[i].balls!=0 && a[i].balls!=last_el[a[i].team-1] ){
  47.             last_el[a[i].team-1]=a[i].balls;
  48.             q[a[i].team-1]--;
  49.             ans[ans1].balls=a[i].balls;
  50.             ans[ans1].number=a[i].number;
  51.             ans1++;
  52.         }
  53.         else if( a[i].balls!=0 && a[i].balls==last_el[a[i].team-1]){
  54.             ans[ans1].balls=a[i].balls;
  55.             ans[ans1].number=a[i].number;
  56.             ans1++;
  57.         }
  58.     }
  59.     cout<<ans1<<endl;
  60.     for(int i=0;i<ans1;i++){
  61.         cout<<ans[i].number<<" "<<ans[i].balls<<endl;
  62.     }
  63.     cin.close();
  64.     cout.close();
  65.        return 0;
  66. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement