Submission #396808

#TimeUsernameProblemLanguageResultExecution timeMemory
396808ly20Gondola (IOI14_gondola)C++17
55 / 100
49 ms5084 KiB
#include "gondola.h" #include <bits/stdc++.h> using namespace std; int valid(int n, int seq[]) { bool vl = true; int id0 = n; map <int, int> freq; for(int i = 0; i < n; i++) { freq[seq[i]]++; if(freq[seq[i]] > 1) vl = false; if(seq[i] > n) continue; if(id0 == n) { id0 = (seq[i] - i + n) % n; } else { if(id0 != (seq[i] - i + n) % n) vl = false; } } if(vl) return 1; else return 0; } //---------------------- int vor[112345]; int replacement(int n, int seq[], int resp[]) { int ch = 0; for(int i = 0; i < n; i++) { if(seq[i] <= n && ch == 0) { ch = 1; int at = i; int cur = seq[i] - 1; while(vor[at] == 0) { vor[at] = cur + 1; cur++; at++; cur %= n; at %= n; } } } if(ch == 0) { for(int i = 0; i < n; i++) { vor[i] = i + 1; } } vector <pair <int, int> > mx; for(int i = 0; i < n; i++) { if(seq[i] > n) mx.push_back(make_pair(seq[i], i)); } sort(mx.begin(), mx.end()); int fim = n + 1; vector <int> rs; for(int i = 0; i < mx.size(); i++) { while(fim <= mx[i].first) { int id = mx[i].second; rs.push_back(vor[id]); vor[id] = fim; fim++; } } for(int i = 0; i < rs.size(); i++) { resp[i] = rs[i]; } return rs.size(); } //---------------------- int countReplacement(int n, int seq[]) { return -3; }

Compilation message (stderr)

gondola.cpp: In function 'int replacement(int, int*, int*)':
gondola.cpp:55:22: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<std::pair<int, int> >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   55 |     for(int i = 0; i < mx.size(); i++) {
      |                    ~~^~~~~~~~~~~
gondola.cpp:63:22: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   63 |     for(int i = 0; i < rs.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...