#include <bits/stdc++.h>
#define fr(i, n, m) for(int i = (n); i < (m); i ++)
#define pb push_back
#define st first
#define nd second
#define pq priority_queue
#define all(x) begin(x),end(x)
using namespace std;
typedef long long ll;
typedef long double ld;
typedef pair<int,int> pii;
ll const inf = 1e9;
ll const mod = 998244853;
ld const eps = 1e-9;
bool f(pii A, pii B){
if(A.st < B.st) return true;
else if(A.st > B.st) return false;
else A.nd > B.nd;
}
/*int k;
void expand(int num){
if(num == 0){
cout << 0 <<' ';
return;
}
if(k == 0){
cout << num <<' ';
return;
}
--k;
expand(num - 1);
expand(num - 1);
}*/
int main()
{
int n, k;
cin >> n >> k;
int a[n];
int b[n];
int MIN = 40;
int nxt[n];
fr(i, 0, n){
cin >> a[i];
b[i] = a[i];
MIN = min(a[i], MIN);
nxt[i] = i + 1;
}
nxt[n - 1] = n;
vector<pii> v;
int sz = n;
fr(mi, MIN, 30){
int p = 0;
int CNT = 0;
fr(i, 0, sz){
if(nxt[p] == n){
if(a[p] == mi){
v.pb({p, mi});
a[p] ++;
}
}
else if(a[p] == mi){
if(a[nxt[p]] == mi){
a[p] = mi + 1;
nxt[p] = nxt[nxt[p]];
CNT ++;
}
else{
v.pb({p, mi});
a[p] = mi + 1;
}
}
p = nxt[p];
}
sz -= CNT;
p = 0;
}
sort(v.begin(), v.end(), f);
int j = 0;
k -= v.size();
if(k < 0) cout << 2 / 0 << endl;
fr(i, 0, n){
while(j < v.size() && v[j].st == i){
cout << v[j].nd <<' ';
j ++;
}
cout << b[i] <<' ';
}
cout <<endl;
return 0;
}
Compilation message
zalmoxis.cpp: In function 'bool f(pii, pii)':
zalmoxis.cpp:21:20: warning: statement has no effect [-Wunused-value]
else A.nd > B.nd;
^
zalmoxis.cpp: In function 'int main()':
zalmoxis.cpp:88:29: warning: division by zero [-Wdiv-by-zero]
if(k < 0) cout << 2 / 0 << endl;
~~^~~
zalmoxis.cpp:90:25: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
while(j < v.size() && v[j].st == i){
~~^~~~~~~~~~
zalmoxis.cpp: In function 'bool f(pii, pii)':
zalmoxis.cpp:22:1: warning: control reaches end of non-void function [-Wreturn-type]
}
^
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
405 ms |
14172 KB |
Output is correct |
2 |
Correct |
404 ms |
14172 KB |
Output is correct |
3 |
Correct |
409 ms |
14260 KB |
Output is correct |
4 |
Runtime error |
323 ms |
24244 KB |
Execution killed with signal 8 (could be triggered by violating memory limits) |
5 |
Runtime error |
327 ms |
24312 KB |
Execution killed with signal 8 (could be triggered by violating memory limits) |
6 |
Runtime error |
325 ms |
24376 KB |
Execution killed with signal 8 (could be triggered by violating memory limits) |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Incorrect |
406 ms |
14192 KB |
Unexpected end of file - int32 expected |
2 |
Correct |
413 ms |
14188 KB |
Output is correct |
3 |
Incorrect |
402 ms |
14200 KB |
Unexpected end of file - int32 expected |
4 |
Incorrect |
404 ms |
14200 KB |
Unexpected end of file - int32 expected |
5 |
Incorrect |
406 ms |
14280 KB |
Unexpected end of file - int32 expected |
6 |
Incorrect |
403 ms |
14200 KB |
Unexpected end of file - int32 expected |
7 |
Incorrect |
403 ms |
14172 KB |
Unexpected end of file - int32 expected |
8 |
Incorrect |
413 ms |
14184 KB |
Unexpected end of file - int32 expected |
9 |
Incorrect |
360 ms |
12900 KB |
Unexpected end of file - int32 expected |
10 |
Incorrect |
202 ms |
5992 KB |
Unexpected end of file - int32 expected |
11 |
Incorrect |
250 ms |
8932 KB |
Unexpected end of file - int32 expected |
12 |
Incorrect |
2 ms |
376 KB |
Unexpected end of file - int32 expected |
13 |
Runtime error |
3 ms |
504 KB |
Execution killed with signal 11 (could be triggered by violating memory limits) |
14 |
Incorrect |
2 ms |
376 KB |
Unexpected end of file - int32 expected |