제출 #267031

#제출 시각아이디문제언어결과실행 시간메모리
267031stefantagaLottery (CEOI18_lot)C++14
45 / 100
3038 ms8696 KiB
#include <bits/stdc++.h>

using namespace std;
int n,l,i,v[10005],nr,q,smen[10005][105],solutie[10005][105],j,numar,k,st,dr,mij,sol;
struct wow
{
    int poz,val;
}query[105];
map <int,int> m;
bool compare (wow a,wow b)
{
    return a.val<b.val;
}
int main()
{
    ios_base :: sync_with_stdio(false);
    cin.tie(0);
    #ifdef HOME
    ifstream cin("date.in");
    ofstream cout("date.out");
    #endif // HOME
    cin>>n>>l;
    for (i=1;i<=n;i++)
    {
        cin>>v[i];
    }
    cin>>q;
    for (i=1;i<=q;i++)
    {
        cin>>query[i].val;
        query[i].poz=i;
    }
    sort (query+1,query+q+1,compare);
    for (i=1;i<=n-l+1;i++)
    {
        for (j=i+1;j<=n-l+1;j++)
        {
            numar=0;
            for (k=1;k<=l;k++)
            {
                if (v[i+k-1]!=v[j+k-1])
                {
                    numar++;
                }
            }
            st=1;
            dr=q;
            sol=0;
            while (st<=dr)
            {
                mij=(st+dr)/2;
                if (query[mij].val<numar)
                {
                    sol=mij;
                    st=mij+1;
                }
                else
                {
                    dr=mij-1;
                }
            }
            smen[i][sol+1]++;
            smen[j][sol+1]++;
        }
    }
    for (i=1;i<=n-l+1;i++)
    {
        for (j=1;j<=q;j++)
        {
            smen[i][j]+=smen[i][j-1];
            solutie[i][query[j].poz]+=smen[i][j];
        }
    }
    for (j=1;j<=q;j++)
    {
        for (i=1;i<=n-l+1;i++)
        {
            cout<<solutie[i][j]<<" ";
        }
        cout<<'\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...