답안 #145670

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
145670 2019-08-20T18:14:02 Z Blagojce Zalmoxis (BOI18_zalmoxis) C++11
0 / 100
1000 ms 24568 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 return A.nd > B.nd;
}
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 - 1;
        vector<pii> v;
        int sz = n;
        fr(mi, MIN, 30){
                int p = 0;
                fr(i, 0, sz - 1){
                        if(a[p] == mi){
                                if(a[nxt[p]] == mi){
                                        a[p] = mi + 1;
                                        nxt[p] = nxt[nxt[p]];
                                }
                                else{
                                        v.pb({i, mi});
                                        a[p] = mi + 1;
                                }
                        }
                        p = nxt[p];
                }
        }
        sort(v.begin(), v.end(), f);

        int j = 0;
        k -= v.size();

        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 'int main()':
zalmoxis.cpp:61:25: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
                 while(j < v.size() && v[j].st == i){
                       ~~^~~~~~~~~~
# 결과 실행 시간 메모리 Grader output
1 Incorrect 473 ms 14260 KB Unexpected end of file - int32 expected
2 Incorrect 473 ms 14200 KB Unexpected end of file - int32 expected
3 Incorrect 475 ms 14200 KB Unexpected end of file - int32 expected
4 Incorrect 473 ms 14200 KB Unexpected end of file - int32 expected
5 Incorrect 491 ms 14192 KB Unexpected end of file - int32 expected
6 Incorrect 493 ms 14240 KB Unexpected end of file - int32 expected
# 결과 실행 시간 메모리 Grader output
1 Incorrect 508 ms 14200 KB Unexpected end of file - int32 expected
2 Incorrect 489 ms 14204 KB Unexpected end of file - int32 expected
3 Runtime error 397 ms 24568 KB Execution killed with signal 11 (could be triggered by violating memory limits)
4 Incorrect 471 ms 14200 KB Unexpected end of file - int32 expected
5 Incorrect 472 ms 14196 KB Unexpected end of file - int32 expected
6 Incorrect 475 ms 14152 KB Unexpected end of file - int32 expected
7 Incorrect 484 ms 14200 KB Unexpected end of file - int32 expected
8 Incorrect 474 ms 14328 KB Unexpected end of file - int32 expected
9 Runtime error 353 ms 21876 KB Execution killed with signal 11 (could be triggered by violating memory limits)
10 Execution timed out 1082 ms 5992 KB Time limit exceeded
11 Runtime error 234 ms 15076 KB Execution killed with signal 11 (could be triggered by violating memory limits)
12 Incorrect 3 ms 256 KB Unexpected end of file - int32 expected
13 Incorrect 2 ms 376 KB Unexpected end of file - int32 expected
14 Incorrect 2 ms 256 KB Unexpected end of file - int32 expected