Submission #1251807

#TimeUsernameProblemLanguageResultExecution timeMemory
1251807tranvinhhuy2010Souvenirs (IOI25_souvenirs)C++20
Compilation error
0 ms0 KiB
//#include "souvenirs.h" #include <bits/stdc++.h> using namespace std; typedef long long ll; int n, last, cnt[105] = {}; ll p[105] = {}; vector <int> P = {12, 5, 3, 2, 1}; pair <vector <int>, ll> transaction(ll m) { vector <int> vec; for (int i=0; i<P.size(); i++) { if (m>=P[i]) { vec.push_back(i); m -= P[i]; } } return {vec, m}; } int adu_build(ll money) { auto [v, remain] = transaction(money); ll sum = money - remain; for (int i : v) cnt[i]++; while (v[0]<last) { while (v.back()>=last) { sum -= p[v.back()]; v.pop_back(); } if (v[0]+1==last) break; last = adu_build((sum-1)/v.size()); } p[v[0]] = sum; return v[0]; } 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 = last = N; p[0] = P0; adu_build(P0-1); adu_complete(); }

Compilation message (stderr)

/usr/bin/ld: /tmp/cchuZ2l0.o: in function `transaction(long long)':
stub.cpp:(.text+0x1d0): multiple definition of `transaction(long long)'; /tmp/ccZsnUNZ.o:souvenirs.cpp:(.text+0x0): first defined here
collect2: error: ld returned 1 exit status