Submission #1009395

#TimeUsernameProblemLanguageResultExecution timeMemory
1009395tarpentExperiments with Gorlum (IZhO13_expgorl)C++14
0 / 100
0 ms344 KiB
#include<bits/stdc++.h> #pragma GCC optimize("O3,unroll-loops") #pragma GCC target("avx2,popcnt,lzcnt,abm,bmi,bmi2,fma,tune=native") using namespace std; long long n,gx,gy,lx,ly,tgx,tgy,lo,up,mid,pgx,pgy; string pu,k; double mi,ma,tr,miko,mako; char e; long double naj(long long mik){ pgy=gy+mik*tgy; pgx=gx+mik*tgx; miko=INT_MAX; for(int i = 0; i<pu.size(); i++){ e=pu[i]; if(e=='L'){ pgx-=1; } else if(e=='R'){ pgx+=1; } else if(e=='F'){ pgy+=1; } else if(e=='B'){ pgy-=1; } if(abs(lx-pgx)*abs(lx-pgx)+abs(ly-pgy)*abs(ly-pgy)<miko) miko = abs(lx-pgx)*abs(lx-pgx)+abs(ly-pgy)*abs(ly-pgy); } return(miko); } long double vec(long long mik){ pgy=gy+mik*tgy; pgx=gx+mik*tgx; mako=0; for(int i = 0; i<pu.size(); i++){ e=pu[i]; if(e=='L'){ pgx-=1; } else if(e=='R'){ pgx+=1; } else if(e=='F'){ pgy+=1; } else if(e=='B'){ pgy-=1; } if(abs(lx-pgx)*abs(lx-pgx)+abs(ly-pgy)*abs(ly-pgy)>mako) mako = abs(lx-pgx)*abs(lx-pgx)+abs(ly-pgy)*abs(ly-pgy); } return(mako); } int main(){ ios::sync_with_stdio(false); cin.tie(0); cout.tie(0); cin>>n; cin>>pu; cin>>lx>>ly>>gx>>gy; pgx=gx;pgy=gy; tgy=0; tgx=0; mi= INT_MAX; ma=0; int siz; char e; for(int i = 0; i<pu.size(); i++){ e=pu[i]; if(e=='L'){ tgx-=1; } else if(e=='R'){ tgx+=1; } else if(e=='F'){ tgy+=1; } else if(e=='B'){ tgy-=1; } } mi=INT_MAX; ma=max(vec(0),vec(n-1)); lo=0; up=n-1; mid=up/2; while(up-lo>1){ if(naj(mid)<naj(mid+1)){ up=mid; mid=(lo+up)/2; } else{ lo=mid; mid=(lo+up)/2; } } mi=naj(mid); siz=k.size(); cout<<fixed; cout<<setprecision(12); cout<<sqrt(mi)<<' '<<sqrt(ma); }

Compilation message (stderr)

expgorl.cpp: In function 'long double naj(long long int)':
expgorl.cpp:13:18: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   13 |  for(int i = 0; i<pu.size(); i++){
      |                 ~^~~~~~~~~~
expgorl.cpp: In function 'long double vec(long long int)':
expgorl.cpp:35:18: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   35 |  for(int i = 0; i<pu.size(); i++){
      |                 ~^~~~~~~~~~
expgorl.cpp: In function 'int main()':
expgorl.cpp:67:18: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   67 |  for(int i = 0; i<pu.size(); i++){
      |                 ~^~~~~~~~~~
expgorl.cpp:65:6: warning: variable 'siz' set but not used [-Wunused-but-set-variable]
   65 |  int siz;
      |      ^~~
#Verdict Execution timeMemoryGrader output
Fetching results...