#include<iostream>
#include<algorithm>
#include<vector>
#define MAX 500010
#define ll long long
using namespace std;
bool cmp(const pair<pair<int,int>,int> &a, const pair<pair<int,int>,int> &b) {
if(a.first.first==b.first.first) return a.second < b.second;
else return a.first.first>b.first.first;
}
int m, n, strength, endurance, id, t, _time, time_passed, block, sub;
ll total;
vector<pair<pair<int,int>, int> > players;
vector<int> starters;
vector<pair<int,int> > sol[MAX];
int main() {
cin.sync_with_stdio(0); cin.tie(0);
cin.exceptions(cin.failbit);
cin >> m >> n; _time = m;
for(int i=1;i<=n;i++) {
cin >> strength >> endurance;
players.push_back({{strength,endurance},i});
}
sort(players.begin(),players.end(),cmp);
while(t<n && block<6) {
strength = players[t].first.first;
endurance = players[t].first.second;
id = players[t].second;
if(endurance==0) {
t++;
continue;
}
_time = min(endurance, m-time_passed);
if(time_passed==0 && starters.size()<6) {
starters.push_back(id);
}
else if(block!=5 && endurance==m) {
block++;
starters.push_back(id);
total += (ll)m*strength;
continue;
}
else if(t-1>0) {
sub++;
sol[time_passed].push_back({players[t-1].second,id});
}
time_passed += _time;
total += (ll)_time*strength;
players[t].first.second -= _time;
if(time_passed==m) {
block++;
time_passed = 0;
}
}
cout << total << "\n";
for(int i=0;i<6;i++) cout << starters[i] << " ";
cout << "\n" << sub << "\n";
for(int i=0;i<m;i++) {
for(int j=sol[i].size()-1;j>=0;j--) {
cout << i << " " << sol[i][j].first << " " << sol[i][j].second;
cout << "\n";
}
}
return 0;
}
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Incorrect |
14 ms |
12160 KB |
Output isn't correct |
2 |
Incorrect |
15 ms |
12288 KB |
Output isn't correct |
3 |
Incorrect |
22 ms |
12608 KB |
Output isn't correct |
4 |
Incorrect |
13 ms |
12032 KB |
Output isn't correct |
5 |
Incorrect |
18 ms |
12416 KB |
Output isn't correct |
6 |
Incorrect |
16 ms |
12160 KB |
Output isn't correct |
7 |
Failed |
14 ms |
12416 KB |
some player fainted |
8 |
Incorrect |
45 ms |
13688 KB |
Output isn't correct |
9 |
Incorrect |
189 ms |
18588 KB |
Output isn't correct |
10 |
Incorrect |
182 ms |
18408 KB |
Output isn't correct |