Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <fstream>
- using namespace std;
- ifstream f("ghiozdan.in");
- ofstream g("ghiozdan.out");
- int d,k,t,i,j;
- int st,dr,mij,rez;
- int mag[100001];
- int main()
- {
- f>>d>>k>>t;
- for (i=1;i<=k;i++)
- f>>mag[i];
- st=1,dr=d;
- while (st<=dr)
- {
- mij=(st+dr)/2;
- int paini=mij, nemancat=t;
- for (i=1;i<=k;i++)
- {
- int dist=mag[i]-mag[i-1];
- if (paini>=dist)
- paini-=dist;
- else
- {
- nemancat-=(dist-paini);
- paini=0;
- }
- paini=mij;
- if (nemancat<0)
- break;
- }
- if (nemancat>=0)
- {
- int dist=d-mag[k];
- if (paini>=dist)
- paini-=dist;
- else
- {
- nemancat-=(dist-paini);
- paini=0;
- }
- paini=mij;
- }
- if (nemancat>=0)
- {
- rez=mij;
- dr=mij-1;
- }
- else
- st=mij+1;
- }
- g<<rez;
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement