386B Codeforces - Sereja and suffixes
Solution in C++
#include <bits/stdc++.h>
using namespace std;
#define pii pair<int,int>
typedef long long int lli;
lli n,m,t;
map<lli,lli> all,occ;
int main()
{
    ios::sync_with_stdio(0);
    cin.tie(0);cout.tie(0);
    cin>>n>>m;
    int arr[n];
    for(int i=0;i<n;i++)cin>>arr[i];
    for(int i=n-1;i>=0;i--)
    {
        if(occ[ arr[i] ])all[i]+=all[i+1];
        else
            all[i]=all[i+1]+1,
            occ[ arr[i] ]=1;
    }
    while(m--)cin>>t,cout<<all[t-1]<<"\n";
    return 0;
}
0 التعليقات:
إرسال تعليق