제출 #1276843

#제출 시각아이디문제언어결과실행 시간메모리
1276843nguyenhuuhongquan선물 (IOI25_souvenirs)C++20
3 / 100
13 ms400 KiB
#include <bits/stdc++.h> using namespace std; #define double long double #define ull unsigned long long #define BIG __int128 #define fi first #define se second #define MASK(i) (1ll << i) #define BIT(x, i) (((x) >> (i)) & 1) #define sz(x) (int)(x).size() #define debug cout << "NO ERROR", exit(0); #define TASK "txt" #define IOS ios_base::sync_with_stdio(0); cin.tie(NULL); cout.tie(NULL); const int MOD = 1e9 + 7; const long long INF = 1000000000000000000ll; const int LimN = 100 + 5; void maximize(int &x, int y){ x = max(x, y); } void minimize(int &x, int y){ x = min(x, y); } void add(int &x, int y){ x = (x % MOD + y % MOD) % MOD; } pair<vector<int>, long long> transaction(long long M); int cnt[LimN], p[LimN]; void buy_souvenirs(int n, long long P0){ for (int i = 0; i < n; i ++) cnt[i] = i; int cur = P0; for (int i = 1; i < n; i ++){ auto [v, r] = transaction(cur - 1); if (sz(v) == 2) r = 1; cur = cur - 1 - r; p[i] = cur; for (auto x : v) cnt[x] --; } for (int i = 1; i < n; i ++){ for (int j = 1; j <= cnt[i]; j ++) transaction(p[i]); } }
#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...