A Square Counting
#include<bits/stdc++.h>
using namespace std;
#define int long long
signed main()
{
int t;
cin>>t;
int n, s;
while(t--)
{
cin>>n>>s;
if(n*n<=s) cout<<s/(n*n)<<endl;
else cout<<0<<endl;
}
return 0;
}
B Quality vs Quantity
#include<bits/stdc++.h>
using namespace std;
#define int long long
int t, n;
const int N = 2e5+10;
int a[N];
signed main()
{
cin>>t;
while(t--)
{
int sum = 0;
cin>>n;
for(int i=0;i<n;++i) cin>>a[i], sum+=a[i];
sort(a, a+n, greater<int> ());
int sr = 0, sb = a[n/2], cr = 0, cb = 1;
bool ok = false;
for(int i=0, j=0;i<n/2||j<ceil(1.0*n/2);++i, ++j)
{
if(sr>sb&&cr<cb) {ok = true; break;}
if(i<n/2) sr+=a[i], cr++;
if(j<ceil(1.0*n/2)) sb+=a[j+n/2+1], cb++;
}
if(ok) cout<<"YES"<<endl;
else cout<<"NO"<<endl;
}
return 0;
}
C Factorials and Powers of Two
#pragma GCC optimize(2)
#include<bits/stdc++.h>
using namespace std;
#define int long long
int t;
int n;
const int N = 15, M = 45;
int fac[N];
void init()
{
fac[0] = 1;
for(int i=1; i<=N; ++i) fac[i] = fac[i-1] * i;
}
int ans;
int ones(int n)
{
int cnt =0 ;
while (n)
{
if(n &1) ++cnt ;
n >>=1 ;
}
return cnt ;
}
void dfs(int p, int fsum, int fcnt)
{
if(p>N) return ;
if(n>=fsum) ans = min(ans, ones(n-fsum)+fcnt);
dfs(p+1, fsum+fac[p], fcnt+1), dfs(p+1, fsum, fcnt);
}
signed main()
{
cin>>t;
init();
while(t--)
{
ans = M;
cin>>n;
dfs(1, 0, 0);
if(ans==M) cout<<-1<<endl;
else cout<<ans<<endl;
}
return 0;
}