Submission #44132

#TimeUsernameProblemLanguageResultExecution timeMemory
44132ziguiKarte (COCI18_karte)C++17
120 / 120
165 ms18016 KiB
#include <stdio.h> #include <algorithm> #include <assert.h> #include <bitset> #include <cmath> #include <complex> #include <deque> #include <functional> #include <iostream> #include <limits.h> #include <map> #include <math.h> #include <queue> #include <set> #include <stdlib.h> #include <string.h> #include <string> #include <time.h> #include <unordered_map> #include <unordered_set> #include <vector> #pragma warning(disable:4N2N26) #pragma comment(linker, "/STACK:336777216") using namespace std; #define mp make_pair #define all(x) (x).begin(), (x).end() #define ldb ldouble typedef tuple<int, int, int> t3; typedef long long ll; typedef unsigned long long ull; typedef double db; typedef long double ldb; typedef pair <int, int> pii; typedef pair <ll, ll> pll; typedef pair <ll, int> pli; typedef pair <db, db> pdd; int IT_MAX = 1 << 18; ll MOD = 1000000007; const int INF = 0x3f3f3f3f; const ll LL_INF = 0x3f3f3f3f3f3f3f3f; const db PI = acos(-1); const db ERR = 1e-10; #define szz(x) (int)(x).size() #define Se second #define Fi first #define rep(i, n) for(int i=0;i<n;i++) #define pb(x) push_back(x) const int MX = 500005; const int MM = 1000000433; int D[MX]; int main() { int N, K; scanf("%d%d", &N, &K); for(int i = 1; i <= N; i++) scanf("%d", D+i); vector<int> P, Q; for(int i = 1; i <= N; i++){ if(D[i] > K) P.push_back(D[i]); else Q.push_back(D[i]); } sort(Q.begin(), Q.end()); vector<int> ans, R; if(P.size() > K) return !printf("-1\n"); for(int c : Q){ if(ans.size() + P.size() < K && c > ans.size()) ans.push_back(c); else R.push_back(c); } if(ans.size() + P.size() != K) return !printf("-1\n"); for(int c : P) ans.push_back(c); for(int c : R) ans.push_back(c); reverse(ans.begin(), ans.end()); for(int c : ans) printf("%d ", c); printf("\n"); }

Compilation message (stderr)

karte.cpp:23:0: warning: ignoring #pragma warning  [-Wunknown-pragmas]
 #pragma warning(disable:4N2N26)
 
karte.cpp:24:0: warning: ignoring #pragma comment  [-Wunknown-pragmas]
 #pragma comment(linker, "/STACK:336777216")
 
karte.cpp: In function 'int main()':
karte.cpp:70:14: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
  if(P.size() > K) return !printf("-1\n");
     ~~~~~~~~~^~~
karte.cpp:72:28: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
   if(ans.size() + P.size() < K && c > ans.size()) ans.push_back(c);
      ~~~~~~~~~~~~~~~~~~~~~~^~~
karte.cpp:72:37: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
   if(ans.size() + P.size() < K && c > ans.size()) ans.push_back(c);
                                   ~~^~~~~~~~~~~~
karte.cpp:75:27: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
  if(ans.size() + P.size() != K) return !printf("-1\n");
     ~~~~~~~~~~~~~~~~~~~~~~^~~~
karte.cpp:60:7: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
  scanf("%d%d", &N, &K);
  ~~~~~^~~~~~~~~~~~~~~~
karte.cpp:61:35: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
  for(int i = 1; i <= N; i++) scanf("%d", D+i);
                              ~~~~~^~~~~~~~~~~
#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...