| # | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
|---|---|---|---|---|---|---|---|
| 1345800 | orgiloogii | Souvenirs (IOI25_souvenirs) | C++20 | 8 ms | 412 KiB |
#include "souvenirs.h"
#include <utility>
#include <vector>
#include <bits/stdc++.h>
using namespace std;
void buy_souvenirs(int n, long long p) {
if (n == 3) {
long long curr = p - 1;
pair<vector<int>, long long> res = transaction(curr);
if (res.first.size() == 1) {
curr -= res.second;
curr--;
transaction(curr);
transaction(curr);
}
else {
curr -= res.second;
curr /= 2;
transaction(curr);
}
return;
}
long long curr = p;
int ls = 0;
int cnt[n] = {0};
for (int i = 1;i < n;i++) {
curr--;
pair<vector<int>, long long> res = transaction(curr);
int change = 0;
if (res.second == 1) {
curr--;
cnt[i]++;
}
else {
if (res.first.size() == 2) {
curr--;
cnt[i]++;
cnt[n - 1]++;
}
else {
cnt[i]++;
}
}
while (cnt[i] < i) {
cnt[i]++;
transaction(curr);
}
}
return;
}| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
