#include <bits/stdc++.h>
#define N 200005
using namespace std;
int st[6];
struct player{
int k,t,pos;
bool operator < (player other){
return k < other.k;
}
};
struct ch{
int time,a,b;
bool operator < (ch other){
return time < other.time;
}
};
vector<player> v;
void solve(){
int m,n;
cin >> m >> n;
for(int i=1;i<=n;i++){
int k,t;
cin >> k >> t;
v.push_back({k,t,i});
}
sort(v.rbegin(),v.rend());
long long ans = 0;
vector<ch> sub;
int col = 0 ,last = 5;
int cnt = 0;
while(col <= last){
int z = m;
int nw = -1;
while(z){
auto &now = v[cnt];
if(z!=m && now.t == m && last != col){
st[last] = now.pos;
ans += now.t * now.k;
last--;
cnt++;
continue;
}
int can = min(z,now.t);
now.t -= can;
z -= can;
ans += now.k*can;
if(!now.t)cnt++;
if(nw == -1){
st[col] = now.pos;
}
else{
sub.push_back({m-z+1,nw,now.pos});
}
nw = now.pos;
}
col++;
}
cout << ans << endl;
for(int i=0;i<6;i++){
cout << st[i] << " ";
}
cout << endl;
sort(sub.begin(),sub.end());
for(auto u:sub){
cout << u.time << " " << u.a << " " << u.b << endl;
}
}
int main(){
ios_base::sync_with_stdio(false);
cin.tie(nullptr);
#ifdef Local
freopen("in.txt","r",stdin);
freopen("out.txt","w",stdout);
#endif
int t=1;
//cin>>t;
while(t--){
solve();
}
#ifdef Local
cout<<endl<<fixed<<setprecision(2)<<1000.0 * clock() / CLOCKS_PER_SEC<< " milliseconds ";
#endif
}
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Incorrect |
1 ms |
364 KB |
Output isn't correct |
2 |
Incorrect |
3 ms |
620 KB |
Integer 5066 violates the range [1, 2799] |
3 |
Incorrect |
8 ms |
1216 KB |
Output isn't correct |
4 |
Incorrect |
1 ms |
364 KB |
Output isn't correct |
5 |
Incorrect |
6 ms |
748 KB |
Output isn't correct |
6 |
Incorrect |
4 ms |
492 KB |
Output isn't correct |
7 |
Incorrect |
4 ms |
748 KB |
Integer 6187 violates the range [1, 1499] |
8 |
Incorrect |
40 ms |
2660 KB |
Integer 62889 violates the range [1, 49999] |
9 |
Incorrect |
152 ms |
11216 KB |
Output isn't correct |
10 |
Incorrect |
176 ms |
11356 KB |
Output isn't correct |