Submission #1360622

#TimeUsernameProblemLanguageResultExecution timeMemory
1360622nataliaaGondola (IOI14_gondola)C++20
25 / 100
28 ms5360 KiB
#include<bits/stdc++.h>
#include"gondola.h"
using namespace std;

int valid(int n, int b[]){
    int a[2*n];
    map<int, int> mp;
    for(int i = 0; i < n; i++){
        a[i] = b[i];
        a[i+n] = b[i];
        if(mp[a[i]]==1) return 0;
        mp[a[i]]=1;
    }
    for(int i = 0; i < n; i++){
        if(a[i]<=n){
            int k = a[i];
            for(int j = i; j<2*n; j++){
                if(a[j]<=n&&a[j]!=k) return 0;
                k++;
                if(k>n) k-=n;
            }
            return 1;
        }
    }
    return 1;
}
int replacement(int n, int a1[], int b[]){
    int a[2*n];
    map<int, int> mp;
    for(int i = 0; i < n; i++){
        a[i] = a1[i];
        a[i+n] = a1[i];
    }
    int ind = -1,  l = 0;
    vector<pair<int, int>> v;
    for(int i = 0; i < n; i++){
        if(a[i]<=n){
            int k = a[i];
            ind  = i;
            for(int j = i; j<i+n; j++){
                if(a[j]!=k){
                    v.push_back({a[j], k});
                }
                k++;
                if(k>n) k-=n;
            }
            break;
        }
    }
    if(ind==-1) {
        for(int i = 0; i < n; i++){
            v.push_back({a[i], i+1});
        }
    }
    int k = n+1;
    sort(v.begin(), v.end());
    for(auto i : v){
        int ok = i.second;
        b[l] = ok;
        l++;
        while(i.first!=k){
            b[l] = k;
            l++;
            k++;
        }
    }
    return l;
    

}
int countReplacement(int n, int a[]){
    if(valid(n, a)==0) return 0;
}

Compilation message (stderr)

gondola.cpp: In function 'int countReplacement(int, int*)':
gondola.cpp:73:1: warning: control reaches end of non-void function [-Wreturn-type]
   73 | }
      | ^
#Result Execution timeMemoryGrader output
Fetching results...
#Result Execution timeMemoryGrader output
Fetching results...
#Result Execution timeMemoryGrader output
Fetching results...
#Result Execution timeMemoryGrader output
Fetching results...
#Result Execution timeMemoryGrader output
Fetching results...
#Result Execution timeMemoryGrader output
Fetching results...
#Result Execution timeMemoryGrader output
Fetching results...
#Result Execution timeMemoryGrader output
Fetching results...
#Result Execution timeMemoryGrader output
Fetching results...
#Result Execution timeMemoryGrader output
Fetching results...