제출 #396903

#제출 시각아이디문제언어결과실행 시간메모리
396903definitelynotmee곤돌라 (IOI14_gondola)C++98
컴파일 에러
0 ms0 KiB
#include <bits/stdc++.h>
#define mp make_pair
#define mt make_tuple
#define ff first
#define ss second
using namespace std;
typedef long long ll;
typedef pair<int,int> pii;
typedef pair<ll,ll> pll;
const ll INFL = (1LL<<62)-1;
const int INF = (1<<30)-1;
const int MAXN = 0;


int valid(int n, int v[]){
    int cur = -1;
    unordered_set<int> s;
    for(int i = 0; i < n; i++){
        if(s.count(v[i]))
            return 0;
        s.insert(v[i]);
        if(cur==-1){
            if(v[i] <= n)
                cur = v[i];
        }
        if(cur!=-1){
            if(v[i] <= n){
                if(cur!=v[i])
                    return 0;
            }
            cur++;
            if(cur==n+1)
                cur-=n;
        }
    }
    return 1;
}
int replacement(int n, int v[], int resp[]){

    int vproper[n];
    int refid = -1, refv; 
    int r;
    map<int,int> m;
    for(int i = 0; i < n; i++){
        if(v[i] > n){
            m.insert({v[i],i});
        } else if(refid==-1){
            refid = i;
            refv = v[i]-1;
        }
    }
    if(refid==-1){
        refv = 0;
        refid = 0;
    }
    refid-=refv;
    for(int i = 0; i < n; i++){
        vproper[i] = (i-refid+n)%n + 1;
    }
    int ptr = 0;

    for(int i = n+1; i <=( m.empty() ? 0 : m.rbegin()->first); i++){
        
        if(m.count(i)){
            resp[ptr++] = vproper[m[i]];
            vproper[m[i]] = i;
            m.erase(i);

        }else {
            resp[ptr++] = vproper[m.rbegin()->second];
            vproper[m.rbegin()->second] = i;
        }
        //cerr << (m.empty()) << endl;
    }
    return ptr;
}
int countReplacement(int n, int v[]){

}

/*int main(){
    int n;
    cin >> n;
    int v[n];
    int v2[n];
    for(int i = 0; i < n; i++) 
        cin >> v[i];
    int a = replacement(n,v,v2);
    //cout << a << '\n';
    for(int i = 0; i < a; i++){
        cout << v2[i] << ' ';
    }
}*/

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

gondola.cpp: In function 'int replacement(int, int*, int*)':
gondola.cpp:42:9: warning: unused variable 'r' [-Wunused-variable]
   42 |     int r;
      |         ^
gondola.cpp: In function 'int countReplacement(int, int*)':
gondola.cpp:79:1: warning: no return statement in function returning non-void [-Wreturn-type]
   79 | }
      | ^
/tmp/ccbNAngA.o: In function `main':
grader.cpp:(.text.startup+0xb6): undefined reference to `valid'
grader.cpp:(.text.startup+0x108): undefined reference to `countReplacement'
grader.cpp:(.text.startup+0x132): undefined reference to `replacement'
collect2: error: ld returned 1 exit status