Submission #550096

#TimeUsernameProblemLanguageResultExecution timeMemory
550096ToroTNA Difficult(y) Choice (BOI21_books)C++14
10 / 100
1 ms256 KiB
#include <bits/stdc++.h>
#include "books.h"
using namespace std;
int n,m,st,md,ed;
long long num,a,qs[100005],x;
vector<pair<long long,long long> > v;
void solve(int N, int K, long long A, int S) {
    n=N;
    m=K;
    a=A;
    st=1;
    ed=n;
    while(ed>=st)
    {
        md=(st+ed)/2;
        num=skim(md);
        if(num>=A)
        {
            ed=md-1;
        }else
        {
            st=md+1;
        }
    }
    for(int i=1;i<=min(m,n);i++)
    {
        v.push_back({skim(i),i});
    }
    for(int i=st-m;i<=st;i++)
    {
        if(i>m&&i<=n)
        {
            v.push_back({skim(i),i});
        }
    }
    qs[0]=v[0].first;
    for(int i=1;i<v.size();i++)
    {
        qs[i]=qs[i-1]+v[i].first;
    }
    for(int i=0;i<=v.size()-m;i++)
    {
        if(i==0)x=qs[m-1];
        x=qs[i+m-1]-qs[i-1];
        if(x>=a&&x<=2*a)
        {
            vector<int> ans;
            for(int j=i;j<=i+m-1;j++)
            {
                ans.push_back(v[j].second);
            }
            answer(ans);
        }
    }
    impossible();
}

Compilation message (stderr)

books.cpp: In function 'void solve(int, int, long long int, int)':
books.cpp:37:18: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<std::pair<long long int, long long int> >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   37 |     for(int i=1;i<v.size();i++)
      |                 ~^~~~~~~~~
books.cpp:41:18: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<std::pair<long long int, long long int> >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   41 |     for(int i=0;i<=v.size()-m;i++)
      |                 ~^~~~~~~~~~~~
#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...
#Verdict Execution timeMemoryGrader output
Fetching results...