#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+1); vector kam(voznov); vector dnu(voznov); int posralo_sa_to=0; for (ll i=0;ivozen && (drahy.at(1+((left+right)/2)))vozen) left=middle; }*/ ll middle=bin(0,drah-1,vozen,drahy); //printf("lol\n"); 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