Accepted
Code
#include <bits/stdc++.h>
using namespace std;
#define ll long long int
bool pos(ll mid, ll sum){
ll need = (mid * (mid+1))/2;
return sum >= need;
}
void solve()
{
ll n;
cin >> n;
vector<ll> v(n);
ll tot = 0;
for(auto &x:v){
cin>>x;
tot += x;
}
ll l = 0, r = 1e9;
while(l < r){
ll mid = (l + r + 1)/2;
if(pos(mid, tot)){
l = mid;
}
else{
r = mid - 1;
}
}
cout<<l+1<<endl;
}
int main()
{
int tc = 1, cs = 1;
cin >> tc;
while (tc--)
{
// cout<<"Case "<<cs<<": ";
solve();
}
return 0;
}
Information
- Submit By
- Type
- Submission
- Problem
- P1114 Maximize the MEX
- Contest
- Brain Booster #7
- Language
- C++17 (G++ 13.2.0)
- Submit At
- 2024-11-05 16:25:20
- Judged At
- 2024-11-05 16:25:20
- Judged By
- Score
- 100
- Total Time
- 93ms
- Peak Memory
- 1.301 MiB