Untitled
By: a guest | Mar 11th, 2010 | Syntax:
None | Size: 1.08 KB | Hits: 47 | Expires: Never
#include <vector>
#include <ctime>
#include <cstdlib>
#include <iostream>
using namespace std;
vector< bool > lol;
void proba(){
lol.resize(530554911); cerr << 1;
lol.resize(530554783); cerr << 2;
//lol.resize(2); cerr << 3;
lol.resize(536870911); cerr << 3;
lol.resize(536870912); cerr << 4;
}
void proba2(){
int size=500000000;
for(int i = 0; i <= 10; ++i){
lol.resize(size/(10-i));
cerr << i+1 << "/10" << endl;
cin.get();
}
cin.get();
}
int main(){
//proba2();
//return 0;
//try { proba(); } catch( exception e ) { cerr << " fail \n" ; }
long long lo = 0, hi = 0x7fffffffffffffffll, mid, success;
for(int it = 0; it < 64; ++it){
mid = (lo+hi)/2;
success = 1;
try{
lol.resize(mid);
} catch( exception e) {
success = 0;
lol.resize(0);
}
if(success)
lo=mid, cerr <<mid<<"+ ";
else hi=mid, cerr<<mid<<"- ";
}
cout << "success was at " << mid << endl;
cout << "maxsize is " << lol.max_size() << endl;
lol.push_back(0);
srand(time(0));
//while(1){ lol[rand()%mid] = rand(); }
scanf("\n");
return 0;
}