Acwing第 52 场周赛完结
Posted 辉小歌
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Acwing第 52 场周赛完结相关的知识,希望对你有一定的参考价值。
https://www.acwing.com/activity/content/1834/
目录
4422. 智力测试【签到】
#include<bits/stdc++.h>
using namespace std;
int main(void)
int n; cin>>n;
int cnt=0;
for(int i=1;;i++)
if(n<i*(i+1)/2) break;
cnt++,n-=(i+1)*i/2;
cout<<cnt;
return 0;
4423. 最近距离【前缀和】
#include<bits/stdc++.h>
using namespace std;
typedef long long int LL;
const int N=1e5*3+10;
LL n,a[N],r[N],l[N];
int main(void)
cin>>n;
for(int i=1;i<=n;i++) cin>>a[i];
memset(l,0x3f,sizeof l);
memset(r,0x3f,sizeof r);
for(int i=n;i>=1;i--)
if(a[i]==0) r[i]=i;
else r[i]=r[i+1];
for(int i=1;i<=n;i++)
if(a[i]==0) l[i]=i;
else l[i]=l[i-1];
for(int i=1;i<=n;i++)
cout<<min(abs(i-l[i]),abs(i-r[i]))<<" ";
return 0;
4424. 等式【解方程】
#include<bits/stdc++.h>
using namespace std;
int main(void)
int t; cin>>t;
while(t--)
int n; cin>>n;
int temp=n*n-4*n;
if(temp<0)
puts("N");
continue;
if(n==0)
puts("Y 0 0");
continue;
printf("Y %.10lf %.10lf\\n",(n-sqrt(temp*1.0))/2.0,(n+sqrt(temp*1.0))/2.0);
return 0;
以上是关于Acwing第 52 场周赛完结的主要内容,如果未能解决你的问题,请参考以下文章