#include <iostream>#include<cstdio>#include<string>#include<cstring>#include<algorithm>#include<cmath>using namespacestd;Const intMAXN =100005;intN,M,CNT,D[MAXN],H[MAXN];intMain () {Freopen ("note.in","R", stdin); Freopen ("Note.out","W", stdout); CIN>>n>>m; for(inti =1; I <= m;i++) {scanf ("%d%d",&d[i],&H[i]); } intans = max (H[m] + n-d[m],h[1] + d[1] -1); intHg,lw,div,mid; for(inti =2; I <= m;i++) {div= H[i]-h[i-1]; if(Div <0) div =-Div; if(Div > d[i]-d[i-1]) {cout<<"Impossible"; return 0; } Mid= (H[i] + h[i-1] + d[i]-d[i-1]) >>1; Ans=Max (ANS,MID); } cout<<ans; return 0;} #include<cstdio>#include<iostream>#include<algorithm>#include<cstring>#include<cmath>#include<vector>#include<queue>#include<map>#include<Set>#include<stack>#include<cstdlib>#include<string>#include<bitset>#defineINF 200000000#defineN 100005#defineFi first#defineSe Second#defineDebug (x) cout<< #x << "=" <<x<<endl#defineMP (x, y) make_pair (x, y)using namespaceStd;typedefLong LongLl;typedef pair<int,int>PII;intA[n],b[n];intMain () {intn,m,ans=0, Flag,t,l,r,mid,x,now,i; Freopen ("note.in","R", stdin); Freopen ("Note.out","W", stdout); CIN>>n>>m; for(i=1; i<=m;i++) {scanf ("%d%d",&a[i],&B[i]); if(i==1) ans=b[i]+a[i]-1; Else{T=a[i]-a[i-1]; X=b[i]-b[i-1]; if(ABS (x) >t) {printf ("impossible\n"); return 0; } x=ABS (x); Ans=max (Ans,max (b[i],b[i-1])); L=0, r=INF; now=0; while(l<=r) {Mid= (l+r) >>1; if(Mid+abs (mid-x) <=t) now=mid,l=mid+1; Elser=mid-1; } ans=max (Ans,min (b[i],b[i-1])+Now ); } if(i==m) ans=max (ans,b[i]+n-A[i]); } cout<<ans<<Endl; return 0;}//DAVIDLEE1999WTK 2015///SrO Myk Orz//Ios::sync_with_stdio (false);/*Ten*/
Notes of the bustling simulator traveler