Submission #1214650

#TimeUsernameProblemLanguageResultExecution timeMemory
1214650JuanJLDiversity (CEOI21_diversity)C++20
4 / 100
7092 ms1092 KiB
#include <bits/stdc++.h> #define fst first #define snd second #define pb push_back #define forn(i,a,b) for(int i = a; i<b; i++) #define SZ(x) (int)x.size() #define ALL(x) x.begin(),x.end() #define mset(a,v) memset(a,v,sizeof(a)) #define FIN ios::sync_with_stdio(0); cin.tie(0); cout.tie(0); using namespace std; typedef long long ll; int main(){FIN; ll n; cin>>n; ll q; cin>>q; vector<ll> a(n); forn(i,0,n) cin>>a[i]; map<ll,ll> mp; forn(i,0,n) mp[a[i]]++; vector<pair<ll,ll>> ord; for(auto i:mp) ord.pb({i.snd,i.fst}); sort(ALL(ord)); ll l ,r; l = 0; r = n-1; forn(i,0,SZ(ord)){ if(i%2==0){ forn(j,l,l+ord[i].fst){ a[j]=ord[i].snd; } l+=ord[i].fst; }else{ for(int j = r; j>r-ord[i].fst; j--){ a[j]=ord[i].snd; } r-=ord[i].fst; } } //forn(i,0,n) cout<<a[i]<<" "; cout<<'\n'; cin>>l>>r; ll res = 0; forn(i,0,n){ set<ll> s; forn(j,i,n){ s.insert(a[j]); res+=SZ(s); } } cout<<res<<'\n'; return 0; }
#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...