Submission #584920

#TimeUsernameProblemLanguageResultExecution timeMemory
584920MazaalaiGondola (IOI14_gondola)C++17
55 / 100
18 ms2204 KiB
#include <bits/stdc++.h> #include "gondola.h" #define ALL(x) x.begin(),x.end() #define LLA(x) x.rbegin(),x.rend() #define pb push_back using namespace std; using PII = pair <int, int>; int valid(int n, int nums[]) { int mini = 0; for (int i = 1; i < n; i++) if (nums[i] < nums[mini]) mini = i; int st = nums[mini]; vector <int> tmp; for (int i = 0; i < n; i++) { int j = (mini + i) % n; if (nums[j] == st+i) continue; if (nums[j] > n) tmp.pb(nums[j]); if (nums[j] <= n) return 0; } sort(ALL(tmp)); for (int i = 1; i < tmp.size(); i++) if (tmp[i] == tmp[i-1]) return 0; return 1; } int replacement(int n, int nums[], int res[]) { int mini = 0, cp[n]; for (int i = 0; i < n; i++) { if (nums[i] < nums[mini]) mini = i; } iota(cp, cp+n, 1); vector <PII> vals; if (nums[mini] <= n) mini = (mini - (nums[mini] - 1) + n) % n; else mini = 0; for (int i = 0; i < n; i++) { vals.pb({nums[(mini+i)%n], i}); } sort(ALL(vals)); int ptr = 0, num = n+1; for (auto [a, b] : vals) { // cout << a << " " << b << "\n"; while (cp[b] != a) { res[ptr++] = cp[b]; cp[b] = num++; } } return ptr; } int countReplacement(int n, int inputSeq[]) { return -3; }

Compilation message (stderr)

gondola.cpp: In function 'int valid(int, int*)':
gondola.cpp:22:23: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   22 |     for (int i = 1; i < tmp.size(); 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...