记录编号 320771 评测结果 AAAAAAAAAA
题目名称 [HZOI 2015]快速柚立叶变换 最终得分 100
用户昵称 Gravatar核糖核酸 是否通过 通过
代码语言 C++ 运行时间 0.245 s
提交时间 2016-10-12 18:35:09 内存使用 15.55 MiB
显示代码纯文本
#include <cstdio>
#include <cstdlib>
#include <cstring>
#include <algorithm>
#define N 1000005
using namespace std;
typedef long long LL;
inline LL read() {
	LL x=0,f=1; char ch=getchar();
	while(ch<'0'||ch>'9') {if(ch=='-')f=-1; ch=getchar();}
	while(ch>='0'&&ch<='9') {x=x*10+ch-'0'; ch=getchar();}
	return x*f;
}
inline void print(int x) {
	int tmp[30], cnt=0;
	if(x == 0) putchar('0');
	while(x) {tmp[++cnt] = x % 10; x /= 10;}
	for(int _i=cnt; _i; _i--) putchar(tmp[_i]+'0');
	putchar(' ');
}
int n;
LL a[N];
static int pos[N], sum[N];

void Input() {
	scanf("%d", &n);
	for(int i=1; i<=n; i++) a[i] = read();
	for(int i=1; i<=n; i++) sum[i] = (a[i]%n + sum[i-1]) % n;
}

void Solve() {
	memset(pos, 0, sizeof(pos));
	int l=n, r=1;
	for(int i=1; i<=n; i++) {
		if(a[i] == 0) continue;
		if(sum[i] == 0) {
			l = 0; r = i;
			break;
		}
		if(pos[sum[i]] > 0) {
			l = pos[sum[i]]; r = i;
			break;
		}
		else pos[sum[i]] = i;
	}
	if(l > r) puts("Tree in Tree with chairman tree.");
	else for(int i=l+1; i<=r; i++) printf("%lld ", a[i]);
}

int main() {
	freopen("A_long_name_without_mean.in", "r", stdin);
	freopen("A_long_name_without_mean.out", "w", stdout);
	Input();
	Solve();
	return 0;
}