답안 #929025

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
929025 2024-02-17T13:41:40 Z NourWael Hokej (COCI17_hokej) C++17
120 / 120
120 ms 39344 KB
#include <bits/stdc++.h>
#define int long long
using namespace std; 

vector<pair<pair<int,int>,int>> subs;
vector<pair<pair<int,int>,int>> players;
int game[7][500005];
int ind[500005], sum;

signed main() {
  
  ios_base::sync_with_stdio(0);
  cin.tie(NULL);
  cout.tie(NULL);
  int n,m; cin>>m>>n;
  
  for(int i=0; i<n; i++) {
   int x,y; cin>>x>>y;
   players.push_back({{x,y},i});
  }
  sort(players.begin(),players.end());

  int now = n-1;

  for(int i=0; i<6; i++) {
   for(int min = 0; min<m; min++ ) {
     if(players[now].first.second==0) now--;
     game[i][min] = players[now].second;
     sum += players[now].first.first;
     players[now].first.second--;
   }
  }
  cout<<sum<<'\n';
  
  for(int i=1; i<6; i++) {
    for(int min=0; min<m-1; min++) {
     if(game[i][min]==game[i-1][min+1]) {
      for(int j=0; j<=min; j++) swap(game[i][j],game[i-1][j]);
      break;
     }
   }
  }


  for(int i=0; i<6; i++) {
   for(int min=1; min<m; min++) {
     if(game[i][min]!=game[i][min-1]) subs.push_back({{min, game[i][min-1]+1}, game[i][min]+1});
   }
  }
  
  for(int i=0; i<6; i++) cout<<game[i][0]+1<<' ';
  cout<<'\n';
  cout<<subs.size()<<'\n';
  sort(subs.begin(),subs.end());
  for(auto it:subs) cout<<it.first.first<<' '<<it.first.second<<' '<<it.second<<'\n';
  return 0;
}
# 결과 실행 시간 메모리 Grader output
1 Correct 2 ms 12632 KB Output is correct
2 Correct 3 ms 12828 KB Output is correct
3 Correct 22 ms 27844 KB Output is correct
4 Correct 3 ms 12636 KB Output is correct
5 Correct 10 ms 25444 KB Output is correct
6 Correct 3 ms 12932 KB Output is correct
7 Correct 3 ms 12888 KB Output is correct
8 Correct 25 ms 17604 KB Output is correct
9 Correct 120 ms 39084 KB Output is correct
10 Correct 118 ms 39344 KB Output is correct