This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include <bits/stdc++.h>
#include "books.h"
using namespace std;
map<int,int> mp;
int ramase;
int query(int x)
{
if(mp[x]==0)
{
if(ramase==0)
{
while(1);
}
ramase--;
mp[x] = skim(x);
}
return mp[x];
}
pair<long long,long long> aproximativ(int st, int K)
{
int dr = st+K-1;
long long x = query(st);
long long y = query(dr);
pair<long long,long long> aux = {x+y,x+y};
for(int i=2;i<K;i++)
{
aux.first += x+i-1;
aux.second += y-i+1;
}
return aux;
}
long long exact(int st, int K)
{
int dr = st+K-1;
long long sum=0;
for(int i=st;i<=dr;i++)
sum += query(i);
return sum;
}
void solve(int N, int K, long long A, int S)
{
ramase = S;
vector<int> sol;
long long sumsol=0;
for(int i=N;i>0;i--)
{
long long x = skim(i);
if(sumsol+x <= 2*A)
{
sol.push_back(i);
sumsol += x;
}
}
if(sumsol>=A && sumsol<=2*A)
{
answer(sol);
return;
}
impossible();
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |