Share Pastebin
Guest
Public paste!

Untitled

By: a guest | Mar 11th, 2010 | Syntax: None | Size: 1.08 KB | Hits: 47 | Expires: Never
This paste has a previous version, view the difference. Copy text to clipboard
  1. #include <vector>
  2. #include <ctime>
  3. #include <cstdlib>
  4. #include <iostream>
  5. using namespace std;
  6. vector< bool > lol;
  7.  
  8. void proba(){
  9.         lol.resize(530554911); cerr << 1;
  10.         lol.resize(530554783); cerr << 2;
  11.         //lol.resize(2); cerr << 3;
  12.         lol.resize(536870911); cerr << 3;
  13.         lol.resize(536870912); cerr << 4;
  14. }
  15. void proba2(){
  16.         int size=500000000;
  17.         for(int i = 0; i <= 10; ++i){
  18.                 lol.resize(size/(10-i));
  19.                 cerr << i+1 << "/10" << endl;
  20.                 cin.get();
  21.         }
  22.         cin.get();
  23. }
  24.  
  25. int main(){
  26.         //proba2();
  27.         //return 0;
  28.         //try { proba(); } catch( exception e ) { cerr << " fail \n" ; }
  29.         long long lo = 0, hi = 0x7fffffffffffffffll, mid, success;
  30.         for(int it = 0; it < 64; ++it){
  31.                 mid = (lo+hi)/2;
  32.                 success = 1;
  33.                 try{
  34.                         lol.resize(mid);
  35.                 } catch( exception e) {
  36.                         success = 0;
  37.                         lol.resize(0);
  38.                 }
  39.                 if(success)
  40.                         lo=mid, cerr <<mid<<"+ ";
  41.                 else hi=mid, cerr<<mid<<"- ";
  42.         }
  43.         cout << "success was at " << mid << endl;
  44.         cout << "maxsize is  " << lol.max_size() << endl;
  45.         lol.push_back(0);
  46.         srand(time(0));
  47.         //while(1){             lol[rand()%mid] = rand();       }
  48.         scanf("\n");
  49.         return 0;
  50. }