Submission #1259767

#TimeUsernameProblemLanguageResultExecution timeMemory
1259767dattenlamjSouvenirs (IOI25_souvenirs)C++20
Compilation error
0 ms0 KiB

#include<bits/stdc++.h>
#define ll long long
#define fi first
#define se second
std::pair<std::vector<int>, ll> transaction(ll M) ;
ll a[100];
void update(std::vector<int> b){
  for(int i=0;i<b.size();i++){
    a[b[i]]++;
  }
}
ll b[100];
std::vector<std::pair<std::vector<int> , ll > > pp;
std::vector <ll> k;
void buy_souvenirs(ll n, ll P0){
  b[0]=P0;
  for (int i=0;i<n-1;i++){
    if(b[i]==0 || b[i+1]!=0){
        continue;
    }
    P0=b[i]-1;
    while (true){
        std::pair<std::vector<int>, ll> cur = transaction(P0);
        update(cur.fi);
        pp.push_back(cur);
        k.push_back(P0);
        if (cur.fi.size()==1){
            break;
        }
        P0=(P0-1-cur.se)/2;
    }
    for (int i=k.size()-1;i>=0;i--){
        ll t=0,c=0;
        for (int u=1;u<pp[i].fi.size();u++){
        if (b[pp[i].fi[u]-1]==0){
            c=1;
            break;
        }
        t+=b[pp[i].fi[u]-1];
        }
        if (c==1){
            continue;
        }
        b[pp[i].fi[0]]=k[i]-t-pp[i].se;
    }
  }
  for(int i=1;i<n;i++){
    while (a[i]<i){
        transaction(b[i]);
        a[i]++;
    }
  }
}

Compilation message (stderr)

/usr/bin/ld: /tmp/ccneHKwQ.o: in function `main':
stub.cpp:(.text.startup+0x99): undefined reference to `buy_souvenirs(int, long long)'
collect2: error: ld returned 1 exit status