Submission #906252

#TimeUsernameProblemLanguageResultExecution timeMemory
906252Ahmed57A Difficult(y) Choice (BOI21_books)C++17
Compilation error
0 ms0 KiB
#include "books.h" #include <bits/stdc++.h> using namespace std; void solve(long long n,long long k,long long a,int s){ long long l = 1 , r = n , ans = n; while(l<=r){ int mid = (l+r)/2; if(skim(mid)>a){ ans = mid; r = mid-1; }else l = mid+1; } long long arr[k+1]; long long las[n+1]; long long all = 0; for(int i= 1;i<=k;i++){ arr[i] = skim(i); if(i<k){ all+=arr[i]; } } for(int i = ans;i>=max(1ll,i-k);i--){ las[i] = skim(i); } if(all+las[ans]>=a&&all+las[ans]<=2*a&&k-1+(ans>=k)==k){ vector<int> an; for(int i = 1;i<k;i++)an.push_back(i); an.push_back(ans); answer(an);return ; } all = 0; for(long long i = 1;i<=k;i++){ all+=arr[i]; long long extra = 0 , cnt = 0; for(int j = max(ans-k,i+1);j<=min(n,max(i+1,ans-k)+(k-i));j++){ extra+=las[j]; cnt++; } if(all+extra>=a&&all+extra<=2*a&&cnt+i==k){ vector<int> an; for(int j = 1;j<=i;i++)an.push_back(j); for(int j = ans-k;j<=mid-k+(k-i);j++)an.push_back(j); answer(an);return ; } } }

Compilation message (stderr)

books.cpp: In function 'void solve(long long int, long long int, long long int, int)':
books.cpp:44:34: error: 'mid' was not declared in this scope
   44 |             for(int j = ans-k;j<=mid-k+(k-i);j++)an.push_back(j);
      |                                  ^~~