Submission #148769

#TimeUsernameProblemLanguageResultExecution timeMemory
148769Avengers (#200)List of Unique Integers (FXCUP4_unique)C++17
100 / 100
6 ms512 KiB
#include <bits/stdc++.h> #define fr(i, n, m) for(int i = (n); i < (m); i ++) #define pb push_back #define st first #define nd second #define pq priority_queue #define all(x) begin(x),end(x) using namespace std; typedef long long ll; typedef long double ld; typedef pair<int,int> pii; ll const inf = 1e9; ll const mod = 1e9 + 7; ld const eps = 1e-9; #include "unique.h" /* int a[200]; int UniqueCount(int l, int r){ int cnt[201]; memset(cnt, 0, sizeof(cnt)); int ret = 0; fr(i, l, r + 1){ if(cnt[a[i]] == 0) ret ++; else if(cnt[a[i]] == 1) ret --; cnt[a[i]] ++; } cout << l <<' '<<r<<' '<<ret<<endl; return ret; }*/ std::vector<int> PickUnique(int N) { int l = UniqueCount(0, N - 1); int r = 0; vector <int> ret(N, 0); fr(i, 0, N){ int nl = 0; if(i < N - 1) nl = UniqueCount(0, N - 2 - i); int nr = UniqueCount(N - 1 - i, N - 1); if(nl == l - 1 && nr == r + 1){ ret[N - 1 - i] = 1; } else{ ret[N - 1 - i] = 0; } l = nl; r = nr; } return ret; }/* int main(){ a[0] = 1; a[1] = 2; a[2] = 3; a[3] = 1; a[4] = 2; vector<int> v = PickUnique(5); for(auto u : v) cout << u << ' '; cout << endl; }*/
#Verdict Execution timeMemoryGrader output
Fetching results...