Submission #83848

#TimeUsernameProblemLanguageResultExecution timeMemory
83848nikolapesic2802Karte (COCI18_karte)C++14
120 / 120
963 ms52264 KiB
/* - Keep a variable k- how many cards need to be wrong until the end. */ #include <bits/stdc++.h> using namespace std; #define ll long long #define pb push_back int main() { int n,k; scanf("%i %i",&n,&k); int t=k; multiset<int> karte; multiset<int,greater<int> > revkarte; revkarte.insert(-1); karte.insert(INT_MAX); for(int i=0;i<n;i++) { int a; scanf("%i",&a); karte.insert(a); revkarte.insert(a); } vector<int> choose; for(int i=0;i<n;i++) { int a=*karte.lower_bound(k); if(a!=INT_MAX) { choose.pb(a); karte.erase(karte.find(a)); revkarte.erase(revkarte.find(a)); if(a>k) k--; continue; } if(a==INT_MAX) { int b=*revkarte.upper_bound(k-1); if(b==-1) { karte.erase(karte.find(k-1)); revkarte.erase(revkarte.find(k-1)); choose.pb(k-1); k--; continue; } choose.pb(b); karte.erase(karte.find(b)); revkarte.erase(revkarte.find(b)); k--; continue; } } int tr=0; int cnt=0; for(int i=n-1;i>=0;i--) { //printf("%i ",choose[i]); if(choose[i]<=tr) { continue; } cnt++; tr++; } if(cnt==t) { for(int i=0;i<n;i++) { printf("%i ",choose[i]); } } else { printf("-1"); } return 0; }

Compilation message (stderr)

karte.cpp: In function 'int main()':
karte.cpp:15:10: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
     scanf("%i %i",&n,&k);
     ~~~~~^~~~~~~~~~~~~~~
karte.cpp:24:14: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
         scanf("%i",&a);
         ~~~~~^~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...