out_of_theblue10

Talent brute- O(f*N)

Apr 12th, 2012
38
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.61 KB | None | 0 0
  1. #include <fstream>
  2. using namespace std;
  3. int s[10010],f[10010],a[10010],b[10010],i,n,nr,k,talent,fmin,smin,x;
  4. int main()
  5. {
  6.     ifstream fi("talent.in");
  7.     ofstream fo("talent.out");
  8.     fi>>n;
  9.     smin=int(2e9); fmin=0;
  10.     for(i=1;i<=n;i++)
  11.     {
  12.       fi>>s[i]>>f[i]>>a[i]>>b[i];
  13.       if(smin>s[i]) smin=s[i];
  14.       if(fmin<f[i]) fmin=f[i];
  15.     }
  16.     for(nr=smin;nr<=fmin;nr++)
  17.     {
  18.       k=0;
  19.       for(i=1;i<=n;i++)
  20.       if(nr<=f[i] and nr>=s[i])
  21.       {
  22.         x=(nr-s[i])%(a[i]+b[i]);
  23.         if(x<a[i]) k++;
  24.       }
  25.       if(k%2) talent=nr;
  26.     }
  27.     fo<<talent<<"\n";
  28.     return 0;
  29. }
Advertisement
Add Comment
Please, Sign In to add comment