Submission #1060161

#TimeUsernameProblemLanguageResultExecution timeMemory
1060161user736482Lottery (CEOI18_lot)C++17
80 / 100
3084 ms1004 KiB
#include<bits/stdc++.h>
using namespace std;
int n,q,a,k,l;
vector<int>v,poz,match[10007];//duze jedno do usuniecia
int pod[10007];
int main(){
    cin>>n>>l;
    for(int i=0;i<n;i++){
        cin>>a;
        v.push_back(a);
    }


    cin>>q;
    while(q--){
        int licz[n-l+1];
        for(int b=0;b<n-l+1;b++)
            licz[b]=0;
        cin>>k;
        k=l-k;
        for(int i=0;i<10007;i++)
            pod[i]=0;
        for(int i=0;i<l-1;i++){
            poz.clear();
            for(int j=i+1;j<n;j++){
                if(v[i]==v[j]) poz.push_back(j);
            }
            for(int j=0;j<poz.size();j++){
                pod[-i+poz[j]]++;
            }
        }
        for(int i=l-1;i<n;i++){
            if(i!=l-1){
            poz.clear();
            i=i-l;
            for(int j=i+1;j<n;j++){
                if(v[i]==v[j]) poz.push_back(j);
            }
            for(int j=0;j<poz.size();j++){
                pod[-i+poz[j]]--;
            }
            i=i+l;}
                poz.clear();
            for(int j=i+1;j<n;j++){
                if(v[i]==v[j]) poz.push_back(j);
            }
            for(int j=0;j<poz.size();j++){
                pod[-i+poz[j]]++;
            }
            //for(int j=l-1;j<i;j++) cout<<0<<" ";
            //for(int j=i;j<n;j++)
                //cout<<pod[-i+j]<<" ";
            for(int j=i+1;j<n;j++){
                if(pod[-i+j]>=k){
                    licz[i-l+1]++;
                    licz[j-l+1]++;
                }
                //match[i-l+1].push_back(pod[-i+j]);
                //match[j-l+1].push_back(pod[-i+j]);
            }
        }
        for(int i=0;i<n-l+1;i++)
            cout<<licz[i]<<" ";
        cout<<"\n";
    }
}

Compilation message (stderr)

lot.cpp: In function 'int main()':
lot.cpp:28:26: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   28 |             for(int j=0;j<poz.size();j++){
      |                         ~^~~~~~~~~~~
lot.cpp:39:26: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   39 |             for(int j=0;j<poz.size();j++){
      |                         ~^~~~~~~~~~~
lot.cpp:47:26: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   47 |             for(int j=0;j<poz.size();j++){
      |                         ~^~~~~~~~~~~
#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...