求助,90分,一个TLE
查看原帖
求助,90分,一个TLE
298208
BorisDimitri楼主2020/4/29 22:18

P3131 [USACO16JAN]Subsequences Summing to Sevens S

#include <bits/stdc++.h>
using namespace std;
long long n=0;
long long a,sum[50010];//sum=前缀和
long long  x=0;//区间长度
long long maxn=0;//最长的区间长度
#pragma GCC optimize(3,"Ofast","inline")
inline int read()
{
	int s=0,w=1;
	char ch=getchar();
	while(ch<'0'||ch>'9')
	{
		if(ch=='-')w=-1;
		ch=getchar();
	}
	while(ch>='0'&&ch<='9') s=s*10+ch-'0',ch=getchar();
	return s*w;
}
inline void Write(int a)
{
	if(a>9)
		Write(a/10);
	putchar(a%10+'0');
}
int main()
{
	n=read();
	for(long long i=1; i<=n; i++)
	{
		a=read();//输入
		sum[i]=sum[i-1]+a;//取前缀和
	}

	for(long long i=1; i<=n; i++)
	{
		for(long long j=n; j>=i; j--)
		{
			if(maxn>(j-i+1))break;
			if((sum[j]-sum[i-1])%7==0)maxn=max(maxn,j-i+1);
		}
	}

	Write(maxn);
	//输出

	return 0;
}
2020/4/29 22:18
加载中...