Submission #145941

#TimeUsernameProblemLanguageResultExecution timeMemory
145941BlagojceZalmoxis (BOI18_zalmoxis)C++11
20 / 100
413 ms24376 KiB
#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 (stderr)

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 timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...