A. Integer Sequence Dividing---简单数学Codeforces Round #531 (Div. 3)

Integer Sequence Dividing

time limit per test 1 second
memory limit per test 256 megabytes

题目链接http://codeforces.com/problemset/problem/1102/A
A. Integer Sequence Dividing---简单数学Codeforces Round #531 (Div. 3)
A. Integer Sequence Dividing---简单数学Codeforces Round #531 (Div. 3)


题目大意:给你一个n,代表数列1-n。让你将其分为2段,其中两段的和的差最小,求最小的差。

要使得其差最小,我们很容易想到直接除以2平分就行了,思想没毛病,我们只需判断它能否到达总和/2就行了。

实际上打个表,找一下规律也很容易出来的:1-n总和的一半是为偶数:最小差=0;否则为1。

以下是AC代码:

#include <bits/stdc++.h>
using namespace std;
const int mac=3e5+10;
#define ll long long
int main()
{
	int n;
	scanf ("%d",&n);
	ll sum=(ll)(1+n)*(ll)n/2;
	if (sum%2) printf ("1\n");
	else printf ("0\n");
	return 0;
}
上一篇:c – 为std :: containers记录分配器?


下一篇:2020牛客暑期多校训练营(第七场) H Dividing