제출 #996563

#제출 시각아이디문제언어결과실행 시간메모리
996563hasan2006곤돌라 (IOI14_gondola)C++17
55 / 100
25 ms7772 KiB
#include <bits/stdc++.h> #include "gondola.h" using namespace std; #define TL ios::sync_with_stdio(0),cin.tie(0),cout.tie(0); #define rall(s) s.rbegin(),s.rend() #define all(s) s.begin(),s.end() #define pb push_back #define se second #define fi first #define ll long long #define ld long double #define YES cout<<"YES\n" #define Yes cout<<"Yes\n" #define yes cout<<"yes\n" #define NO cout<<"NO\n" #define No cout<<"No\n" #define no cout<<"no\n" const int N = 5e5 + 9 , mod = 1e9 + 7; ll a[N] , b[N] , d[N] , c[N] , dp[N] ; int valid(int n , int inputSeq[]){ int x = -1 , y , k; set<int>st; for(int i = 0; i < n; i++){ st.insert(inputSeq[i]); if(inputSeq[i] <= n) x = k = i , y = inputSeq[i]; } if(st.size() != n){ return 0; } if(x == -1) return 1; while((x + 1) % n != k){ x = (x + 1) % n; y++; y = (y - 1) % n + 1; if(inputSeq[x] <= n && inputSeq[x] != y) return 0; } return 1; } int replacement(int n, int gondolaSeq[], int replacementSeq[]){ int x = 0 , y = 1 , k = 0; for(int i = 0; i < n; i++) if(gondolaSeq[i] <= n) x = k = i , y = gondolaSeq[i]; for(int i = 1; i <= 3e5; i++) c[i] = 0; int mx = 0 ,s = 0 , f; c[gondolaSeq[x]] = y; if(gondolaSeq[x] > mx) mx = gondolaSeq[x],f = y; while((x + 1) % n != k){ x = (x + 1) % n; y++; y = (y - 1) % n + 1; c[gondolaSeq[x]] = y; if(gondolaSeq[x] > mx) mx = gondolaSeq[x],f = y; } x = n + 1; while(x <= mx){ if(x == mx){ replacementSeq[s++] = f; break; } if(c[x]){ replacementSeq[s++] = c[x]; }else { replacementSeq[s++] = f; f = x; } x++; } return s; } int countReplacement(int n, int inputSeq[]){ return -3; } /* int main(){ int b[10] , a[] = {2, 3, 4, 9, 6, 7, 1 }; cout<<replacement(7 , a , b); }*/ // Author : حسن

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

gondola.cpp: In function 'int valid(int, int*)':
gondola.cpp:33:18: warning: comparison of integer expressions of different signedness: 'std::set<int>::size_type' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
   33 |     if(st.size() != n){
      |        ~~~~~~~~~~^~~~
gondola.cpp: In function 'int replacement(int, int*, int*)':
gondola.cpp:77:33: warning: 'f' may be used uninitialized in this function [-Wmaybe-uninitialized]
   77 |             replacementSeq[s++] = f;
      |             ~~~~~~~~~~~~~~~~~~~~^~~
#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...