제출 #1251719

#제출 시각아이디문제언어결과실행 시간메모리
1251719tranvinhhuy2010선물 (IOI25_souvenirs)C++20
컴파일 에러
0 ms0 KiB
#include "souvenirs.h"
#include <bits/stdc++.h>

using namespace std;

typedef long long ll;

int n, cnt[105];
ll p[105];

ll adu_calculate(ll s, int k) {
    s += k*(k-1)/2 + k - 1;
    return s/k;
}

void adu_build(ll money) {
    auto [v, remain] = transaction(money);
    ll sum = money - remain;

    for (int i : v)
        cnt[i]++;

    while (v.size()>1) {
        while (p[v.back()]>0) {
            sum -= p[v.back()];
            v.pop_back();
        }

        if (v.size()==1) break;
        adu_build((sum-1)/v.size());
    }

    p[v[0]] = sum;
}

void adu_complete() {
    for (int i=1; i<n; i++) {
        while (cnt[i]<i) {
            transaction(p[i]);
            cnt[i]++;
        }
    }
}

void buy_souvenirs(int N, ll P0) {
    n = unknown = N;
    p[0] = P0;
    adu_build(P0-1);
    adu_complete();
}

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

souvenirs.cpp: In function 'void buy_souvenirs(int, ll)':
souvenirs.cpp:46:9: error: 'unknown' was not declared in this scope
   46 |     n = unknown = N;
      |         ^~~~~~~
souvenirs.cpp:46:9: note: suggested alternatives:
In file included from /usr/include/c++/11/filesystem:44,
                 from /usr/include/x86_64-linux-gnu/c++/11/bits/stdc++.h:129,
                 from souvenirs.cpp:2:
/usr/include/c++/11/bits/fs_fwd.h:159:7: note:   'std::filesystem::perms::unknown'
  159 |       unknown           =  0xFFFF,
      |       ^~~~~~~
/usr/include/c++/11/bits/fs_fwd.h:80:55: note:   'std::filesystem::file_type::unknown'
   80 |       block = 4, character = 5, fifo = 6, socket = 7, unknown = 8
      |                                                       ^~~~~~~