Submission #1250758

#TimeUsernameProblemLanguageResultExecution timeMemory
1250758yeyso2Souvenirs (IOI25_souvenirs)C++20
18 / 100
0 ms412 KiB
#include "souvenirs.h" #include <utility> #include <vector> #include <bits/stdc++.h> using namespace std; void buy_souvenirs(int N, long long P0) { vector<long long> P(3, 0); vector<int> quantity_owned(3, 0); P[0] = P0; pair<vector<int>, long long> res = transaction(P0 - 1); // If we buy both type 1 and type 2 in this transaction if(res.first.size() == 2){ long long leftover = res.second; long long total_paid = P0 - 1 - leftover; long long upper_type2 = total_paid / 2; if(total_paid % 2 == 0){ upper_type2 -= 1; } pair<vector<int>, long long> res = transaction(upper_type2); } // If we only buy type 1 else { long long leftover = res.second; long long P1 = P0 - 1 - leftover; pair<vector<int>, long long> res = transaction(P1 - 1); pair<vector<int>, long long> res2 = transaction(P1 - 1); } /*int left = (P[0] - 1 - leftover)/2 + 1; int right = P[0] - 1 - leftover; cout << left << " " << right << "\n"; int mid = 0; while(left < right){ mid = left + (right - left) / 2; pair<vector<int>, long long> res = transaction(mid); if(res.first[0] == 2){ left = mid + 1; } else { right = mid; } } cout << left << "\n";*/ return; } /* #!/bin/bash task="souvenirs" grader_name="grader" g++ -std=gnu++20 -Wall -O2 -pipe -static -g -o main grader.cpp souvenirs.cpp 3 100 70 1 */
#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...