#include #include using namespace std; typedef long long ll; ll bin(ll i,ll j,ll a, vector drahy){ if (i==j) {/*printf("bs L %lld",i);*/return i;} ll m=(i+j)/2; //printf("bs %lld %lld %lld %lld %lld\n",i,j,m,drahy.at(m),a); if (drahy.at(m)0) && (drah>0)) { //printf("\n\n\nSpracuvam vstup s voznami: %lld a drahami: %lld\n",voznov,drah); vector drahy(drah+5,-1); vector kam(voznov+7); vector dnu(voznov+6); ll last_use=0; int posralo_sa_to=0; for (ll i=0;ivozen && (drahy.at(1+((left+right)/2)))vozen) left=middle; }*/ ll middle=bin(0,last_use,vozen,drahy); //if (i%1000==0) printf("%lld\n",i); if (middle==last_use) last_use++; if (drahy.at(middle)>vozen) { posralo_sa_to=1; } if (!posralo_sa_to) { drahy.at(middle)=vozen; dnu.at(i)=middle; kam.at(vozen)=middle; } // printf("Nakoniec ho strcim na %lld\n",middle); } if (posralo_sa_to) { printf("Transportation failed\n"); } else { for (ll i=0; i