제출 #1278837

#제출 시각아이디문제언어결과실행 시간메모리
1278837Robert_juniorHappiness (Balkan15_HAPPINESS)C++20
컴파일 에러
0 ms0 KiB
#include "happiness.h"
#include <bits/stdc++.h>
using namespace std;
const long long N = 2e5 + 7;
long long inf = 1e13;
long long t[N * 40], L[N * 40], R[N * 40], timer = 1;
void upd(long long v, long long l, long long r, long long idx, long long x){
    if(l == r){
        t[v] += x;
    }
    else{
        long long m = (l + r) / 2;
        if(idx <= m){
            if(!L[v]) L[v] = ++timer;
            upd(L[v], l, m, idx, x);
        }
        else{
            if(!R[v]) R[v] = ++timer;
            upd(R[v], m + 1, r, idx, x);
        }
        t[v] = t[L[v]] + t[R[v]];
    }
}
long long get(long long v, long long l, long long r, long long ll, long long rr){
    if(l <= ll && rr <= r) return t[v];
    if(l > rr || ll > r) return 0;
    long long m = (ll + rr) / 2;
    return get(L[v], l, r, ll, m) + get(R[v], l, r, m + 1, rr);
}
bool check(){
    long long cur = 1, sum = t[1]; 
    while(cur < sum){
        long long t = get(1, 1, cur, 1, inf);
        if(t < cur) return false;
        cur = t + 1;
    }
    return true;
}
bool init(long long coinsCount, long long maxCoinSize, long long coins[]){
    for(long long i = 0; i < coinsCount; i++){
        upd(1, 1, inf, coins[i], coins[i]);
    }
    return check();
}
bool is_happy(long long event, long long coinsCount, long long coins[]){
    for(long long i = 0; i < coinsCount; i++){
        upd(1, 1, inf, coins[i], event * coins[i]);
    }
    return check();
}

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

/usr/bin/ld: /tmp/ccrwOCX9.o: in function `main':
grader.cpp:(.text.startup+0x9a): undefined reference to `init(int, long long, long long*)'
/usr/bin/ld: grader.cpp:(.text.startup+0x15b): undefined reference to `is_happy(int, int, long long*)'
collect2: error: ld returned 1 exit status