제출 #1250251

#제출 시각아이디문제언어결과실행 시간메모리
1250251faustaadp선물 (IOI25_souvenirs)C++20
21 / 100
12 ms412 KiB
#include "souvenirs.h" #include "bits/stdc++.h" #include <utility> #include <vector> using namespace std; typedef long long ll; #define fi first #define se second #define pb push_back void buy_souvenirs(int N, long long P0) { // long long X = P0 - 1; // pair<vector<int>, long long> res = transaction(X); // ll Y = res.second; // // cout << X << " " << Y << "\n"; // if((res.first).size() == 1) { // transaction(X - Y - 1); // transaction(X - Y - 1); // } else { // transaction((X - Y) / 2); // } // cout << "AWALNYA " << P0 << "\n"; vector<ll> cur, but(N); cur.pb(P0); for(int i = 0; i < N; i++) { but[i] = i; } for(int i = 1; i < N; i++) { pair<vector<int>, long long> res = transaction(cur[i - 1] - 1); // cout << res.se << " dari " << i << " hitnya " << cur[i - 1] - 1 << "\n"; for(ll j = 0; j < (ll)res.first.size(); j++) { // cout << "hil " << res.first[j] << "\n"; but[res.first[j]]--; } if(res.se == 0 && res.first.size() == 1) { cur.pb(cur[i - 1] - 1); } else { cur.pb(cur[i - 1] - 2); } for(int j = 0; j < but[i]; j++) { transaction(cur[i]); } // cout << cur[i] << "@\n"; } return; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...