Advertisement
Perlik

generator

Jul 20th, 2011
235
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.09 KB | None | 0 0
  1. #include "testlib.h"
  2. #include <iostream>
  3. #include <cstdio>
  4. #include <cstdlib>
  5. #include <climits>
  6. #include <vector>
  7. using namespace std;
  8. const int n=1000000-1;
  9. vector <long long> v;
  10. int main(int argc, char *argv[])
  11. {
  12.     registerGen(argc,argv);
  13.     printf("%d\n",n);
  14.     int k=rnd.next(1,10000);
  15.     if (k%2==0) k++;
  16.     long long r=rnd.next(1,INT_MAX);
  17.     if (rnd.next(0,INT_MAX-1) & 1) r+=(long long)(rnd.next(1,1000))*(long long)(rnd.next(1,INT_MAX-1));
  18.     for(int i=0;i<k;i++)
  19.         v.push_back(r);
  20.     while (k<n)
  21.     {
  22.         int c=rnd.next(0,999);
  23.         if (c & 1) c++;
  24.         if (k+c>n) c=n-k;
  25.         r=rnd.next(1,INT_MAX);
  26.         if (rnd.next(0,INT_MAX-1) & 1) r+=(long long)(rnd.next(1,1000))*(long long)(rnd.next(1,INT_MAX-1));
  27.         for(int i=0;i<c;i++)
  28.             v.push_back(r);
  29.         k+=c;
  30.     }
  31.     shuffle(v.begin(),v.end());
  32.     for(int i=0;i<n;i++)
  33.     {
  34.         #ifdef WIN32
  35.             printf("%I64d",v[i]);
  36.         #else
  37.             printf("%lld",v[i]);
  38.         #endif
  39.         if (i<n-1) printf(" "); else printf("\n");
  40.     }
  41.     return 0;
  42. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement