some cf 题
#include <bits/stdc++.h>
#define int long long
using namespace std;
int t;
signed main()
{
ios::sync_with_stdio(0);
cin.tie(0),cout.tie(0);
cin>>t;
while(t--)
{
int k,x,a;
cin>>k>>x>>a;
int zhi=1;
bool tmp=false;
if(zhi>=a)
tmp=true;
for(int i=1;i<=x-1;i++)
{
int shu=(zhi+1)/(k-1);
if((zhi+1)%(k-1)!=0)
shu++;
zhi+=shu;
if(zhi>=a)
{
tmp=true;
break;
}
}
if(k*(a-zhi)<=a)
tmp=true;
if(tmp==true)
cout<<"NO"<<'\n';
else
cout<<"YES"<<'\n';
}
}
Problem - 1903C - CodeforcesCodeforces Round 912 (Div. 2)
#include <bits/stdc++.h>
#define int long long
using namespace std;
int a[1000000],aa[1000000];
int ans,ccnt,sum,tot,f;
signed main()
{
ios::sync_with_stdio(0);
cin.tie(0),cout.tie(0);
int t;
cin>>t;
while(t--)
{
int n;
cin>>n;
for(int i=1;i<=n;i++)
cin>>a[i];
ans=ccnt=sum=tot=0;
f=0;
for(int i=n;i>=1;i--)
{
sum+=a[i];
tot+=a[i];
f=1;
if(sum>0)
{
aa[++ccnt]=tot;
tot=0;
f=0;
}
}
if(f) aa[++ccnt]=tot;
for(int i=1;i<=ccnt;i++)
ans+=(ccnt-i+1)*aa[i];
cout<<ans<<'\n';
}
}
Problem - 1878E - CodeforcesCodeforces Round 900 (Div. 3)
#include <bits/stdc++.h>
#define int long long
using namespace std;
const int N=34,M=2e5+10;
int n,q;
int a[M],num[M][N];
int check(int l,int r,int k)
{
int sum=0;
for(int bit=0;bit<=30;bit++)
{
int cnt=num[r][bit]-num[l-1][bit];
if(cnt==r-l+1)
sum+=(1ll<<bit);
}
return (sum>=k);
}
signed main()
{
ios::sync_with_stdio(0);
cin.tie(0),cout.tie(0);
int t;
cin>>t;
while(t--)
{
cin>>n;
for(int i=1;i<=n;i++)
for(int j=0;j<=30;j++)
num[i][j]=0;
for(int i=1;i<=n;i++)
{
cin>>a[i];
for(int bit=0;bit<=30;bit++)
{
if(a[i]>>bit&1) num[i][bit]=1;
num[i][bit]+=num[i-1][bit];
}
}
int q;
cin>>q;
while(q--)
{
int l,L,r=n,x;
cin>>l;
L=l;
cin>>x;
while(l<r)
{
int mid=(l+r+1)/2;
if(check(L,mid,x))
l=mid;
else
r=mid-1;
}
if(check(L,l,x))
cout<<l<<' ';
else
cout<<"-1"<<' ';
}
cout<<'\n';
}
}
原文地址:https://blog.csdn.net/2301_80160438/article/details/143088014
免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!