답안 #145941

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
145941 2019-08-21T12:30:33 Z Blagojce Zalmoxis (BOI18_zalmoxis) C++11
20 / 100
413 ms 24376 KB
#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]
 }
 ^
# 결과 실행 시간 메모리 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)
# 결과 실행 시간 메모리 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