Submission #1214640

#TimeUsernameProblemLanguageResultExecution timeMemory
1214640JuanJLDiversity (CEOI21_diversity)C++20
0 / 100
1 ms324 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> cnt; forn(i,0,n) cnt[a[i]]++;

    vector<pair<ll,ll>> ord;
    for(auto i:cnt){
        ord.pb({i.snd,i.fst});
    }

    sort(ALL(ord));
    reverse(ALL(ord));

    while(q--){
        ll l,r; cin>>l>>r; l--;
        
        vector<ll> new_a=a;
        sort(new_a.begin()+l,new_a.begin()+r);

        

        ll res = 0;
        forn(i,l,r){
            forn(j,i,r){
                set<ll> s;
                forn(h,i,j+1){
                    s.insert(new_a[h]);
                }
                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...