제출 #1228721

#제출 시각아이디문제언어결과실행 시간메모리
1228721AMel0nGondola (IOI14_gondola)C++20
25 / 100
9 ms3924 KiB
#include <bits/stdc++.h>
using namespace std;
 
typedef long long ll;
#define FOR(i,N) for(ll i = 0; i < N; i++)
#define all(x) (x).begin(), (x).end()
#define F first
#define S second

#include "gondola.h"

int valid(int n, int seq[]) {
    unordered_set<int> seen;
    pair<int,int> pr = {-1,-1};
    FOR(i, n) {
        if (seen.find(seq[i]) != seen.end()) return 0;
        seen.insert(seq[i]);
        if (seq[i] <= n) {
            if (pr.F != -1) {
                if (pr.F <= seq[i]) {
                    if (seq[i]-pr.F != i-pr.S) return 0;
                } else {
                    if (pr.F-seq[i] != n-(i-pr.S)) return 0;
                }
            }
            pr = {seq[i], i};
        }
    }
    return 1;
}



int replacement(int n, int gSeq[], int replacementSeq[]) {
    unordered_set<int> seen;
    int mx = 0;
    FOR(i, n) {
        seen.insert(gSeq[i]);
        mx = max(mx, gSeq[i]);
    }
    int i = 0;
    for(int g = 1; g <= mx; g++) {
        if (seen.find(g) == seen.end()) replacementSeq[i++] = g;
    }
    return i;
}




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