Advertisement
icatalin

techpi info oltenia 2014 v-vi (neterm.)

Feb 20th, 2014
90
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.67 KB | None | 0 0
  1. #include <fstream>
  2. #include <cmath>
  3.  
  4. using namespace std;
  5.  
  6. ifstream f("techpi.in");
  7. ofstream g("techpi.out");
  8.  
  9. int main()
  10. {
  11.     int v[31663],li,ls,mij,k,t,poz
  12.     for (i=0;i<=31662;i++)
  13.  v[i]=i*i+13*i;
  14.  f>>t;
  15.  for (i=1;i<=t;i++)
  16.  {
  17.      f>>k;
  18.      //caut binar pozitia pe care se afla k in v[]
  19.      li=0;
  20.      ls=sqrtl(k);
  21.      while (li<=ls)
  22.      {
  23.          mij=(li+ls)/2;
  24.          if (v[mij]>k && v[mij-1]<=k )
  25.          {
  26.              poz=mij-1;
  27.              break;
  28.              
  29.          }
  30.          if (v[mij]>k)
  31.          ls=mij-1;
  32.          else
  33.          li=mij+1;
  34.      }
  35.      if (v[poz]==k)
  36.      poz--;
  37.      g<<poz<<'\n';
  38.  }    
  39.  
  40.     return 0;
  41. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement