# |
Submission time |
Handle |
Problem |
Language |
Result |
Execution time |
Memory |
99384 |
2019-03-03T10:56:37 Z |
Ort |
Hokej (COCI17_hokej) |
C++11 |
|
245 ms |
18520 KB |
#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, last;
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;
t++;
continue;
}
else {
sub++;
sol[time_passed].push_back({last,id});
}
time_passed += _time;
total += (ll)_time*strength;
players[t].first.second -= _time;
last = id;
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;
}
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
12 ms |
12160 KB |
Output is correct |
2 |
Correct |
13 ms |
12288 KB |
Output is correct |
3 |
Correct |
23 ms |
12608 KB |
Output is correct |
4 |
Correct |
14 ms |
12032 KB |
Output is correct |
5 |
Correct |
19 ms |
12412 KB |
Output is correct |
6 |
Correct |
17 ms |
12288 KB |
Output is correct |
7 |
Correct |
17 ms |
12416 KB |
Output is correct |
8 |
Correct |
45 ms |
13816 KB |
Output is correct |
9 |
Correct |
245 ms |
18404 KB |
Output is correct |
10 |
Correct |
221 ms |
18520 KB |
Output is correct |