#include <bits/stdc++.h>
#define N 500050
#define int long long
#define f first
#define s second
using namespace std;
typedef pair<int, int> pii;
struct T
{
int f, s, id;
} v[N];
bool cmp(T A, T B)
{
return A.f > B.f;
}
int n, m;
int32_t main()
{
ios::sync_with_stdio(false); cin.tie(0);
cin>>m>>n;
for(int i = 1; i <= n; i++)
{
cin>>v[i].f>>v[i].s;
v[i].id = i;
}
sort(v + 1, v + n + 1, cmp);
stack<T> fila;
for(int i = n; i >= 1; i--) fila.push(v[i]);
int total = 0, sub = 0, ans = 0, tempo = 0;
vector<T> subs;
int ant = -1;
while(!fila.empty() and total < 6*m)
{
int qual = fila.top().f, resta = fila.top().s, id = fila.top().id;
fila.pop();
if(sub + resta > m)
{
ans += (m - resta) * qual;
total += (m - resta) * qual;
if(m - resta > 0) fila.push({qual, resta - (m - resta), id});
sub = 0;
subs.push_back({tempo, ant, id});
ant = -1;
tempo = 0;
continue;
}
sub += resta;
total += resta;
ans += qual * resta;
subs.push_back({tempo, ant, id});
tempo += resta;
if(sub == m)
{
sub = 0;
ant = -1;
tempo = 0;
continue;
}
ant = id;
}
cout<<ans<<"\n";
sort(subs.begin(), subs.end(), cmp);
reverse(subs.begin(), subs.end());
for(int i = 0; i < 6; i++) cout<<subs[i].id<<" \n"[i == 5];
cout<<subs.size() - 6<<"\n";
for(int i = 6; i < subs.size(); i++)
{
auto x = subs[i];
cout<<x.f<<" "<<x.s<<" "<<x.id<<"\n";
}
}
Compilation message
hokej.cpp: In function 'int32_t main()':
hokej.cpp:106:19: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
for(int i = 6; i < subs.size(); i++)
~~^~~~~~~~~~~~~
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Failed |
3 ms |
376 KB |
some player fainted |
2 |
Failed |
6 ms |
896 KB |
some player fainted |
3 |
Failed |
12 ms |
2044 KB |
some player fainted |
4 |
Failed |
2 ms |
2044 KB |
some player fainted |
5 |
Failed |
6 ms |
2044 KB |
some player fainted |
6 |
Failed |
3 ms |
2044 KB |
some player fainted |
7 |
Incorrect |
6 ms |
2044 KB |
Integer 0 violates the range [1, 1499] |
8 |
Failed |
47 ms |
6952 KB |
some player fainted |
9 |
Failed |
226 ms |
30816 KB |
some player fainted |
10 |
Failed |
217 ms |
35596 KB |
some player fainted |