Submission #474741

# Submission time Handle Problem Language Result Execution time Memory
474741 2021-09-19T15:10:38 Z Blobo2_Blobo2 Karte (COCI18_karte) C++14
108 / 120
135 ms 13744 KB
/*
Editor: Abdelrahman Hossam
Nickname: Blobo2_Blobo2
IOI next year isA :)
*/
/*#pragma GCC optimize("Ofast,no-stack-protector,unroll-loops,fast-math,O3")
#pragma GCC target("sse,sse2,sse3,ssse3,sse4,sse4.2,popcnt,abm,mmx,avx2")
#pragma GCC optimize("-ffast-math")
#pragma GCC optimize("-funroll-loops")
#pragma GCC optimize("-funroll-all-loops,-fpeel-loops,-funswitch-loops")*/

#include<bits/stdc++.h>
using namespace std;
#define int long long
//#define int __int16_t
#define endl "\n"
#define all(v)  v.begin(),v.end()
#define gen(arr,n,nxt)  generate(arr,arr+n,nxt)
#define Blobo2_el_7akim_elly_3ayz_yro7_IOI_w_3ayz_yakol_jilaty ios_base::sync_with_stdio(false);cin.tie(0);
#define EPS 0.00000001

const int mo=1e9+7,INF=1e18;
int nxt(){int x;cin>>x;return x;}

signed main(){
    Blobo2_el_7akim_elly_3ayz_yro7_IOI_w_3ayz_yakol_jilaty
    int n=nxt(),k=nxt();
    vector<int>v;
    int zeroes = 0;
    for(int i=0;i<n;i++){
        int x = nxt();
        v.push_back(x);
        if(!x)
            zeroes ++;
    }
    sort(all(v));
    if(v.size() - zeroes < k)cout<<-1;
    else if(zeroes == n && k == 0){
        for(int i=0;i<n;i++)cout<<0<<' ';
        return 0;
    }
    else{
        vector<int>ans;
        int idx =0;
        for(int i = n-1,j = 0;i>=0&&j<k;i--,j++)
            ans.push_back(v[i]),idx = i;
        reverse(all(ans));
        for(int i=0;i<idx;i++)
            ans.push_back(v[i]);
        int cnt=0;
        int ok=0;
        for(int i=0;i<n;i++){
            if(cnt < ans[i]){
                cnt++;
                ok++;
            }
        }
        if(ok!=k)cout<<-1<<endl;
        else{
            reverse(all(ans));
            for(auto x:ans)cout<<x<<' ';
        }
    }
    return 0;
}

Compilation message

karte.cpp: In function 'int main()':
karte.cpp:37:26: warning: comparison of integer expressions of different signedness: 'long long unsigned int' and 'long long int' [-Wsign-compare]
   37 |     if(v.size() - zeroes < k)cout<<-1;
      |        ~~~~~~~~~~~~~~~~~~^~~
# Verdict Execution time Memory Grader output
1 Correct 0 ms 204 KB Output is correct
2 Runtime error 1 ms 460 KB Execution killed with signal 11
# Verdict Execution time Memory Grader output
1 Correct 1 ms 204 KB Output is correct
2 Correct 1 ms 204 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 0 ms 204 KB Output is correct
2 Correct 1 ms 204 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 1 ms 332 KB Output is correct
2 Correct 1 ms 296 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 1 ms 332 KB Output is correct
2 Correct 1 ms 332 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 1 ms 332 KB Output is correct
2 Correct 1 ms 332 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 1 ms 332 KB Output is correct
2 Correct 1 ms 332 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 29 ms 3248 KB Output is correct
2 Correct 21 ms 3248 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 58 ms 6036 KB Output is correct
2 Correct 40 ms 6148 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 135 ms 13744 KB Output is correct
2 Correct 95 ms 13288 KB Output is correct