Submission #139294

# Submission time Handle Problem Language Result Execution time Memory
139294 2019-07-31T14:13:51 Z mechfrog88 Zalmoxis (BOI18_zalmoxis) C++14
0 / 100
272 ms 57808 KB
#include <bits/stdc++.h>
#include <ext/pb_ds/assoc_container.hpp>
#include <ext/pb_ds/tree_policy.hpp>
#pragma GCC optimize("unroll-loops,no-stack-protector")
#pragma GCC target("sse,sse2,sse3,ssse3,sse4,popcnt,abm,mmx,avx,tune=native")
 
using namespace __gnu_pbds;
using namespace std;
 
template <typename T>
using ordered_set = tree<T, null_type, less<T>, rb_tree_tag, tree_order_statistics_node_update>;
 
typedef long long ll;
typedef long double ld; 
 
 
int main(){
    ios_base::sync_with_stdio(false);
    cin.tie(NULL);
    ll n,k;
    cin >> n >> k;
    list <pair<ll,ll>> arr;
    vector <ll> ori;
    vector <ll> num(30,0);
    ll mini = 30;
    for (int z=0;z<n;z++){
        ll temp;
        cin >> temp;
        num[temp]++;
        mini = min(temp,mini);
        arr.push_back(make_pair(temp,z));
        ori.push_back(temp);
    }
    for (auto it = arr.begin();it != arr.end();){
        auto ita = it;
        ita++;
        if (it->first == ita->first && ita->first == mini){
            auto p = it;
            bool ok = true;
            if (p == arr.begin()) ok = false;
            if (p != arr.begin()) p--;
            if (p != arr.begin()) p--;
            arr.insert(it,make_pair(it->first+1,it->second));
            arr.erase(it);
            arr.erase(ita);
            if (!ok) it = arr.begin();
            else it = p;
            num[mini]-=2;
            num[mini+1]++;
            if (num[mini] == 0){
                mini++;
            }
        } else {
            it++;
        }
        // for (auto itq = arr.begin();itq != arr.end();itq++){
        //     cout << itq->first << " ";
        // } cout << endl;
    }
    ll i = 0;
    ll q = 0;
    arr.push_back(make_pair(LLONG_MAX,0));
    for (auto it = arr.begin();it != arr.end();it++){
        if (it->first == mini){
            i = it->second;
            q = it->first;
            break;
        }
    }
    for (int z=0;z<n;z++){
        if (z == i) cout << q << " ";
        cout << ori[z] << " ";
    }
    cout << endl;
}

// 29 29
// 28 28 28 28
// 28 27 27 28 27 27
// 28 27 26 28 27 25 25 26
# Verdict Execution time Memory Grader output
1 Incorrect 252 ms 57552 KB not a zalsequence
2 Incorrect 254 ms 57680 KB not a zalsequence
3 Incorrect 262 ms 57560 KB not a zalsequence
4 Incorrect 262 ms 57552 KB not a zalsequence
5 Incorrect 256 ms 57808 KB not a zalsequence
6 Incorrect 252 ms 57640 KB not a zalsequence
# Verdict Execution time Memory Grader output
1 Incorrect 250 ms 57552 KB Unexpected end of file - int32 expected
2 Incorrect 259 ms 57660 KB Unexpected end of file - int32 expected
3 Incorrect 272 ms 57460 KB Unexpected end of file - int32 expected
4 Incorrect 250 ms 57680 KB Unexpected end of file - int32 expected
5 Incorrect 254 ms 57552 KB Unexpected end of file - int32 expected
6 Incorrect 252 ms 57556 KB Unexpected end of file - int32 expected
7 Incorrect 256 ms 57668 KB Unexpected end of file - int32 expected
8 Incorrect 251 ms 57716 KB Unexpected end of file - int32 expected
9 Incorrect 233 ms 46160 KB Unexpected end of file - int32 expected
10 Incorrect 82 ms 17832 KB Unexpected end of file - int32 expected
11 Incorrect 127 ms 29020 KB Unexpected end of file - int32 expected
12 Incorrect 2 ms 376 KB Unexpected end of file - int32 expected
13 Incorrect 2 ms 376 KB Unexpected end of file - int32 expected
14 Incorrect 3 ms 376 KB Unexpected end of file - int32 expected