제출 #236953

#제출 시각아이디문제언어결과실행 시간메모리
236953crossing0ver곤돌라 (IOI14_gondola)C++17
25 / 100
32 ms12672 KiB
#include<bits/stdc++.h> #include "gondola.h" using namespace std; const int MAXN = 1E5+5; int n,a[MAXN]; int valid(int n1, int inputSeq[]) { n = n1; int pos = -1; for (int i = 0; i < n; i++) { a[i] = inputSeq[i]; if (a[i] <= n) pos = i; } if (pos != -1) { int x = (a[pos] - pos - 1)%n; if (x <0) x+= n; int b[MAXN]; for (int i = 0; i < n; i++) { b[(x + i)%n] = a[i]; } for (int i = 0;i < n; i++) a[i] = b[i]; } set<int> s; for (int i = 0; i < n; i++) { if (a[i] < n) { if (a[i] != i + 1) return 0; } s.insert(a[i]); } if (s.size() != n) return 0; return 1; } int replacement(int n1, int gondolaSeq[], int replacementSeq[]){ bool c = valid(n1,gondolaSeq); vector<int> v; for (int i = 0; i < n ;i++) { if (a[i] > n) { v.push_back(a[i]); } } sort (v.begin(),v.end()); int last = n; vector<int> b(n+1); vector<int> g; for (int i = 0; i < n; i++) if (a[i] <= n) b[a[i]] = 1; for (int i = 1; i <= n; i++) { if (!b[i]) g.push_back(i); } int cnt = 0; int val = n+1; vector<bool> good(100000000); for (int i = 0; i < v.size(); i++) good [v[i]] = 1; if (v.size() == 0) return 0; int mx = v.back() + 1; for (int i = 0;i < g.size(); i++) { while (!good[ g[i] ]) { replacementSeq[cnt] = g[i]; g[i] = val; val++; cnt++; } } return cnt; } int countReplacement(int n, int inputSeq[]) { return 0;} /* main() { int n; cin >> n; int inputseq[n]; int s[100000]; for (int i = 0;i < n; i++) cin >> inputseq[i]; cout << replacement(n,inputseq,s); } */

컴파일 시 표준 에러 (stderr) 메시지

gondola.cpp: In function 'int valid(int, int*)':
gondola.cpp:31:15: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
  if (s.size() != n) return 0;
      ~~~~~~~~~^~~~
gondola.cpp: In function 'int replacement(int, int*, int*)':
gondola.cpp:55:20: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
  for (int i = 0; i < v.size(); i++)
                  ~~^~~~~~~~~~
gondola.cpp:59:21: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
    for (int i = 0;i < g.size(); i++) {
                   ~~^~~~~~~~~~
gondola.cpp:35:7: warning: unused variable 'c' [-Wunused-variable]
  bool c = valid(n1,gondolaSeq);
       ^
gondola.cpp:43:6: warning: unused variable 'last' [-Wunused-variable]
  int last = n;
      ^~~~
gondola.cpp:58:6: warning: unused variable 'mx' [-Wunused-variable]
  int mx = v.back() + 1;
      ^~
#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...