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 场周赛完结的主要内容,如果未能解决你的问题,请参考以下文章

Acwing第 53 场周赛完结

Acwing第 31 场周赛完结

Acwing第 36 场周赛完结

Acwing第 56 场周赛完结

Acwing第 32 场周赛完结

Acwing第 59 场周赛完结