Submission #1253159

#TimeUsernameProblemLanguageResultExecution timeMemory
1253159anfiFestival (IOI25_festival)C++20
Compilation error
0 ms0 KiB
#include "festival.h"
#include <bits/stdc++.h>
using namespace std;
#define fi first
#define se second
typedef long long ll;

vector<int> max_coupons(int A, vector<int> P, vector<int> T){
    ll cost = A, n = P.size();
    vector<int> ans
    vector<char> use(n, 0);
    vector<pair<ll,int>> mp[5];
    for(int i = 0; i < n; i++){
        mp[T[i]].push_back({P[i],i});
    }
    for(int i = 1; i <= 4; i++) sort(mp[i].begin(), mp[i].end());
    struct item{
        int t, idx;
        ll p;
    };
    struct cmp{
        bool operator()(item const &a, item const &b){
            if(a.t != b.t) return a.t < b.t;
            return a.p > b.p;
        }
    };    
    priority_queue<item, vector<item>, cmp> pq;
    int pr2 = 0, pr3 = 0, pr4 = 0;
    int sz2 = mp[2].size(), sz3 = mp[3].size(), sz4 = mp[4].size();
    
    auto hitung = [&](int t, int &pt, int sz){
        while(pt < sz && mp[t][pt].fi <= cost){
            pq.push({t, mp[t][pt].se, mp[t][pt].fi});
            pt++;
        }
    };

    hitung(4, pr4, sz4);
    hitung(3, pr3, sz3);
    hitung(2, pr2, sz2);
    while(!pq.empty()){
        auto it = pq.top(); pq.pop();
        if(use[it.idx]) continue;
        use[it.idx] = 1;
        cost = (cost-it.p)*it.t;
        ans.push_back(it.idx);
        hitung(4, pr4, sz4);
        hitung(3, pr3, sz3);
        hitung(2, pr2, sz2);
    }

    for(auto &pr : mp[1]){
        if(pr.fi <= cost){
            cost = (cost-pr.fi);
            ans.push_back(pr.se);
        }else break;
    }

    return ans;
}

Compilation message (stderr)

festival.cpp: In function 'std::vector<int> max_coupons(int, std::vector<int>, std::vector<int>)':
festival.cpp:11:5: error: expected initializer before 'vector'
   11 |     vector<char> use(n, 0);
      |     ^~~~~~
festival.cpp:43:12: error: 'use' was not declared in this scope; did you mean 'se'?
   43 |         if(use[it.idx]) continue;
      |            ^~~
      |            se
festival.cpp:44:9: error: 'use' was not declared in this scope; did you mean 'se'?
   44 |         use[it.idx] = 1;
      |         ^~~
      |         se
festival.cpp:46:9: error: 'ans' was not declared in this scope; did you mean 'abs'?
   46 |         ans.push_back(it.idx);
      |         ^~~
      |         abs
festival.cpp:55:13: error: 'ans' was not declared in this scope; did you mean 'abs'?
   55 |             ans.push_back(pr.se);
      |             ^~~
      |             abs
festival.cpp:59:12: error: 'ans' was not declared in this scope; did you mean 'abs'?
   59 |     return ans;
      |            ^~~
      |            abs