Submission #584779

#TimeUsernameProblemLanguageResultExecution timeMemory
584779BelguteiGondola (IOI14_gondola)C++17
20 / 100
41 ms4556 KiB
#include "gondola.h" #include <bits/stdc++.h> using namespace std; #define ll long long #define ff first #define ss second #define pb push_back #define mk make_pair #define MOD 1000000007 #define MOD1 1000000009 map<int,int> mp; map<int,int> :: iterator it; int valid(int n, int inputSeq[]) { mp.clear(); int pos = -1; for(int i = 0; i < n; i ++) { if(inputSeq[i] <= n) { pos = i; } mp[inputSeq[i]] ++; } for(it = mp.begin(); it != mp.end(); it ++) { if(it -> ss > 1) { return 0; } } if(pos == -1) return 1; int val = inputSeq[pos]; for(int i = pos + 1; i < n; i ++) { val ++; if(val == n + 1) val = 1; if(inputSeq[i] <= n && inputSeq[i] != val) return 0; } for(int i = 0; i < pos; i ++) { val ++; if(val == n + 1) val = 1; if(inputSeq[i] <= n && inputSeq[i] != val) return 0; } // return 1; } //---------------------- int replacement(int n, int gondolaSeq[], int replacementSeq[]) { int pos = -1, tmp_pos; int cnt = 0, mx = 0; for(int i = 0; i < n; i ++) { if(gondolaSeq[i] <= n) { pos = i; } else { if (mx < gondolaSeq[i]) { tmp_pos = i; mx = gondolaSeq[i]; } } mp[gondolaSeq[i]] ++; } if(mx == 0) return 0; int val = gondolaSeq[pos]; int ans = 0; int tur; for(int i = pos + i; i < n; i ++) { val ++; if(val == n + 1) val = 1; if(tmp_pos == i) { tur = val; continue; } if(gondolaSeq[i] > n) { replacementSeq[ans] = val; ans ++; } } // for(int i = 0; i < pos; i ++) { val ++; if(val == n + 1) val = 1; if(tmp_pos == i) { tur = val; continue; } if(gondolaSeq[i] > n) { replacementSeq[ans] = val; ans ++; } } for(int i = gondolaSeq[tmp_pos]; i > n; i --) { if(mp[i] == 0) { replacementSeq[ans] = i; ans ++; } } replacementSeq[ans] = tur; ans ++; return ans; } //---------------------- int countReplacement(int n, int inputSeq[]) { return -3; }

Compilation message (stderr)

gondola.cpp: In function 'int replacement(int, int*, int*)':
gondola.cpp:52:7: warning: unused variable 'cnt' [-Wunused-variable]
   52 |   int cnt = 0, mx = 0;
      |       ^~~
gondola.cpp:69:11: warning: 'i' may be used uninitialized in this function [-Wmaybe-uninitialized]
   69 |   for(int i = pos + i; i < n; i ++) {
      |           ^
gondola.cpp:101:23: warning: 'tur' may be used uninitialized in this function [-Wmaybe-uninitialized]
  101 |   replacementSeq[ans] = tur;
      |   ~~~~~~~~~~~~~~~~~~~~^~~~~
#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...