Submission #73245

#TimeUsernameProblemLanguageResultExecution timeMemory
73245Batmend4Gondola (IOI14_gondola)C++98
55 / 100
28 ms2568 KiB
#include "gondola.h" #include <iostream> #include<cstdio> #include<vector> #include<bits/stdc++.h> using namespace std; int valid(int n, int inputSeq[]) { map< int, bool> m; bool lol = 1; int ind = -1; for( int i = 0 ; i < n ; i++ ){ if( inputSeq[i] <= n ){ lol = 0; ind = i; } if( inputSeq[i] > n ){ if( m[inputSeq[i]] == 1 ) return 0; m[inputSeq[i]] = 1; } } if( lol == 1 ){ return 1; } int ct[n + 5]; int nn = n + inputSeq[ind] - 1 - ind; for( int i = 0 ; i < n ; i++ ){ ct[(nn + i) % n] = inputSeq[i]; } for( int i = 0 ; i < n ; i++ ){ if( ct[i] <= n ){ if( i != ct[i] - 1 ){ return 0; } } } return 1; } //---------------------- int replacement(int n, int gondolaSeq[], int replacementSeq[]) { int ind = -1; int ct[n + 5]; vector< pair<int, int> >v; for( int i = 0 ; i < n ; i++ ){ if( gondolaSeq[i] <= n ){ ind = i; } } int nn = n + gondolaSeq[ind] - 1 - ind; for( int i = 0 ; i < n ; i++ ){ ct[(nn + i) % n] = gondolaSeq[i]; } for( int i = 0 ; i < n ; i++ ){ v.push_back( make_pair(ct[i], i)); } sort( v.begin(), v.end()); int pos = 0; for( int i = 0 ; i < n ; i++ ){ int ct1 = v[i].first; if( ct1 <= n ) continue; if( i == 0 ){ replacementSeq[pos] = v[0].second + 1; pos++; for( int ii = n + 1 ; ii < v[0].first ; ii++ ){ replacementSeq[pos] = ii; pos++; } continue; } if( v[i - 1].first <= n ){ replacementSeq[pos] = v[i].second + 1; pos++; for( int ii = n + 1 ; ii < v[i].first ; ii++ ){ replacementSeq[pos] = ii; pos++; } continue; } replacementSeq[pos] = v[i].second + 1; pos++; for( int ii = v[i-1].first + 1 ; ii < v[i].first ; ii++ ){ replacementSeq[pos] = ii; pos++; } } return pos; } //---------------------- int countReplacement(int n, int inputSeq[]) { return -3; }
#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...