Submission #66739333
Source Code Expand
#include <bits/stdc++.h>
#define all(c) c.begin(), c.end()
#define sz(c) ll(c.size())
#define ll long long
#define tr(a, it) for (auto it = a.begin(); it != a.end(); it++)
#define present(c, x) (c.find(x) != c.end())
#define cpresent(c, x) (find(all(c), x) != c.end())
#define vi vector<int>
#define vll vector<ll>
#define vvi vector<vi>
#define vvll vector<vll>
#define vpii vector<pair<int, int>>
#define vpll vector<pair<ll, ll>>
#define pll pair<ll, ll>
#define inf 1e9
#define infi 1e18
#define MOD 1000000007
#define MAXN 10000
#define madar 1e18
#define moda 998244353
#define loop(i, s, e) for (ll i = s; i < e; i++)
#define revloop(i, s, e) for (ll i = s; i >= e; i--)
#define newl cout << endl
#define pb push_back
#define f first
#define s second
using namespace std;
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
ll gcd(ll a, ll b){
if(!(a%b)) return b;
return gcd(b, a%b);
}
ll lcm(ll a, ll b) {
return (a*b)/gcd(a,b);
}
ll MSB(ll n)
{
ll ans = -1;
while (n) {
ans++;
n /= 2;
}
return ans;
}
ll power(ll a, ll b, ll mod) { // to calculate (a^b)%mod
ll p = 1;
while (b > 0) {
if (b & 1)
p = (p * a) % mod;
a = (a * a) % mod;
b = b >> 1;
}
return p;
}
ll inv_mod(ll n, ll mod) {
return power(n, mod - 2, mod);
}
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// #ifdef LOCAL
// #include "debug.h"
// #endif
void solve(int tc) {
ll n, q; cin >> n >> q;
vll a(q); loop(i,0,q) cin >> a[i];
set<pll> st;
vll ct(n, 0);
for(ll i = 0; i < n; i++){
st.insert({0, i});
}
vll b(q);
for(ll i = 0; i < q; i++){
// debug(st);
if(a[i]){
ll idx = a[i] - 1;
ll ff = ct[idx];
st.erase({ff, idx});
ct[idx]++;
st.insert({ct[idx], idx});
b[i] = idx;
}else{
auto tmp = *st.begin();
st.erase(st.begin());
ll idx = tmp.s;
ct[idx]++;
st.insert({ct[idx], idx});
b[i] = idx;
}
}
for(ll i = 0; i < q; i++){
cout << b[i] + 1 << ' ';
}
}
int main() {
ios::sync_with_stdio(0);
cin.tie(0);
// auto start = std::chrono::high_resolution_clock::now();
// freopen("input.txt", "r", stdin);
// freopen("output1.txt", "w", stdout);
int t = 1;
// cin >> t;
int tc = 0;
while (t--) {
tc++;
solve(tc);
}
// newl;
// auto end = chrono::high_resolution_clock::now();
// auto duration = chrono::duration_cast<chrono::milliseconds>(end - start);
// cout << "Time taken: " << duration.count() << " milliseconds" << std::endl;
return 0;
}
Submission Info
| Submission Time |
|
| Task |
B - Reverse Proxy |
| User |
arikrrr77 |
| Language |
C++ 20 (gcc 12.2) |
| Score |
200 |
| Code Size |
3134 Byte |
| Status |
AC |
| Exec Time |
1 ms |
| Memory |
3628 KiB |
Compile Error
Main.cpp: In function ‘void solve(int)’:
Main.cpp:72:16: warning: unused parameter ‘tc’ [-Wunused-parameter]
72 | void solve(int tc) {
| ~~~~^~
Judge Result
| Set Name |
Sample |
All |
| Score / Max Score |
0 / 0 |
200 / 200 |
| Status |
|
|
| Set Name |
Test Cases |
| Sample |
sample_01.txt, sample_02.txt, sample_03.txt |
| All |
sample_01.txt, sample_02.txt, sample_03.txt, test_01.txt, test_02.txt, test_03.txt, test_04.txt, test_05.txt, test_06.txt, test_07.txt, test_08.txt, test_09.txt, test_10.txt, test_11.txt, test_12.txt, test_13.txt, test_14.txt, test_15.txt, test_16.txt, test_17.txt, test_18.txt, test_19.txt, test_20.txt, test_21.txt, test_22.txt, test_23.txt, test_24.txt, test_25.txt, test_26.txt, test_27.txt, test_28.txt, test_29.txt, test_30.txt, test_31.txt, test_32.txt, test_33.txt, test_34.txt, test_35.txt, test_36.txt, test_37.txt, test_38.txt, test_39.txt |
| Case Name |
Status |
Exec Time |
Memory |
| sample_01.txt |
AC |
1 ms |
3492 KiB |
| sample_02.txt |
AC |
1 ms |
3436 KiB |
| sample_03.txt |
AC |
1 ms |
3420 KiB |
| test_01.txt |
AC |
1 ms |
3420 KiB |
| test_02.txt |
AC |
1 ms |
3420 KiB |
| test_03.txt |
AC |
1 ms |
3628 KiB |
| test_04.txt |
AC |
1 ms |
3428 KiB |
| test_05.txt |
AC |
1 ms |
3512 KiB |
| test_06.txt |
AC |
1 ms |
3424 KiB |
| test_07.txt |
AC |
1 ms |
3472 KiB |
| test_08.txt |
AC |
1 ms |
3560 KiB |
| test_09.txt |
AC |
1 ms |
3424 KiB |
| test_10.txt |
AC |
1 ms |
3416 KiB |
| test_11.txt |
AC |
1 ms |
3508 KiB |
| test_12.txt |
AC |
1 ms |
3620 KiB |
| test_13.txt |
AC |
1 ms |
3500 KiB |
| test_14.txt |
AC |
1 ms |
3624 KiB |
| test_15.txt |
AC |
1 ms |
3500 KiB |
| test_16.txt |
AC |
1 ms |
3420 KiB |
| test_17.txt |
AC |
1 ms |
3488 KiB |
| test_18.txt |
AC |
1 ms |
3620 KiB |
| test_19.txt |
AC |
1 ms |
3496 KiB |
| test_20.txt |
AC |
1 ms |
3500 KiB |
| test_21.txt |
AC |
1 ms |
3400 KiB |
| test_22.txt |
AC |
1 ms |
3564 KiB |
| test_23.txt |
AC |
1 ms |
3472 KiB |
| test_24.txt |
AC |
1 ms |
3568 KiB |
| test_25.txt |
AC |
1 ms |
3556 KiB |
| test_26.txt |
AC |
1 ms |
3484 KiB |
| test_27.txt |
AC |
1 ms |
3468 KiB |
| test_28.txt |
AC |
1 ms |
3360 KiB |
| test_29.txt |
AC |
1 ms |
3572 KiB |
| test_30.txt |
AC |
1 ms |
3504 KiB |
| test_31.txt |
AC |
1 ms |
3412 KiB |
| test_32.txt |
AC |
1 ms |
3500 KiB |
| test_33.txt |
AC |
1 ms |
3492 KiB |
| test_34.txt |
AC |
1 ms |
3504 KiB |
| test_35.txt |
AC |
1 ms |
3572 KiB |
| test_36.txt |
AC |
1 ms |
3500 KiB |
| test_37.txt |
AC |
1 ms |
3496 KiB |
| test_38.txt |
AC |
1 ms |
3500 KiB |
| test_39.txt |
AC |
1 ms |
3484 KiB |