Codeforces Round #778 (Div. 1 + Div. 2, based on Technocup 2022 Final Round) 1654C - Alice and the Cake Solution
Problem Link : https://codeforces.com/contest/1654/problem/C
Solution in C++:
///La ilaha illellahu muhammadur rasulullah
///******Bismillahir-Rahmanir-Rahim******///
///Abul Hasnat Tonmoy
///Department of CSE,23rd batch
///Islamic University,Bangladesh
#include<bits/stdc++.h>
using namespace std;
int main()
{
long long t,i,s,f,n;
cin>>t;
while(t--)
{
cin>>n;
long long a[n+9];
s=f=0;
for(i=1; i<=n; i++)
{
cin>>a[i];
s+=a[i];
}
sort(a+1,a+n+1);
priority_queue<long long>pq;
pq.push(s);
while(!pq.empty())
{
s=pq.top();
pq.pop();
if(s<a[n])
{
f=1;
break;
}
if(s==a[n])
n--;
else
pq.push((s+1)/2), pq.push(s/2);
}
if(f==0)
cout<<"YES"<<endl;
else
cout<<"NO"<<endl;
}
}
No comments