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;
}

猜你喜欢

转载自blog.csdn.net/qq_46527915/article/details/124910242