Răspuns :
#include <fstream>#include <cmath>using namespace std;
#define Nmax 1000002
ifstream fin ( "bomboane2.in" );ofstream fout ( "bomboane2.out" );
long long v[Nmax];
int main(){
long long N, MaxVal = -1;
fin >> N;
for ( int i = 1; i <= N; ++i ){ fin >> v[i]; MaxVal = max ( MaxVal, v[i] ); }
long long Ture, st = 0, dr = sqrt ( double ( MaxVal ) ) * sqrt(double(2)) ;
while ( st <= dr ){ long long mid = ( st + dr ) >> 1;
bool ok = 1; for ( int i = 1; i <= N; ++i ){ if ( v[i] < mid * i + ( N * mid * (mid-1) ) / 2 ){ ok = 0; break; } }
if ( ok ){ Ture = mid; st = mid + 1; } else dr = mid - 1; }
N *= Ture;
fout << ( N * (N+1) / 2 );
return 0;}
#define Nmax 1000002
ifstream fin ( "bomboane2.in" );ofstream fout ( "bomboane2.out" );
long long v[Nmax];
int main(){
long long N, MaxVal = -1;
fin >> N;
for ( int i = 1; i <= N; ++i ){ fin >> v[i]; MaxVal = max ( MaxVal, v[i] ); }
long long Ture, st = 0, dr = sqrt ( double ( MaxVal ) ) * sqrt(double(2)) ;
while ( st <= dr ){ long long mid = ( st + dr ) >> 1;
bool ok = 1; for ( int i = 1; i <= N; ++i ){ if ( v[i] < mid * i + ( N * mid * (mid-1) ) / 2 ){ ok = 0; break; } }
if ( ok ){ Ture = mid; st = mid + 1; } else dr = mid - 1; }
N *= Ture;
fout << ( N * (N+1) / 2 );
return 0;}
Vă mulțumim pentru vizita pe site-ul nostru dedicat Informatică. Sperăm că informațiile disponibile v-au fost utile și inspiraționale. Dacă aveți întrebări sau aveți nevoie de suport suplimentar, suntem aici pentru a vă ajuta. Ne face plăcere să vă revedem și vă invităm să adăugați site-ul nostru la favorite pentru acces rapid!