Submission #1229330

#TimeUsernameProblemLanguageResultExecution timeMemory
1229330kl0989eGondola (IOI14_gondola)C++20
55 / 100
19 ms4420 KiB
#include "gondola.h"
#include <bits/stdc++.h>
using namespace std;

#define ll long long
#define pi pair<int, int>
#define pl pair<ll, ll>
#define vi vector<int>
#define vl vector<ll>
#define fi first
#define se second
#define pb push_back
#define all(x) (x).begin(),(x).end()

int valid(int n, int s[]) {
    set<int> nums;
    int z=-1;
    for (int i=0; i<n; i++) {
        nums.insert(s[i]);
        if (1<=s[i] && s[i]<=n && z==-1) {
            z=(s[i]-i+10*n)%n;
        }
        if (1<=s[i] && s[i]<=n) {
            if ((s[i]-i+10*n)%n!=z) {
                return 0;
            }
        }
    }
    if (nums.size()!=n) {
        return 0;
    }
    return 1;
}

//----------------------

int replacement(int n, int s[], int rep[]) {
    int z=1;
    vector<pi> inds;
    for (int i=0; i<n; i++) {
        if (1<=s[i] && s[i]<=n) {
            z=(s[i]-i+10*n)%n;
        }
        else {
            inds.pb({s[i],i});
        }
    }
    sort(all(inds));
    int ind=0;
    int lstval=n+1;
    for (auto [val,i]:inds) {
        rep[ind++]=(z+i+10*n)%n+n*(((z+i)%n)==0);
        lstval++;
        while (lstval<=val) {
            rep[ind++]=(lstval++)-1;
        }
    }
    return ind;
}

//----------------------

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...