问题 J: 藏苹果
时间限制: 1 Sec 内存限制: 128 MB
题目描述
小明家中了很多苹果树,到了收获的季节,苹果多得数不胜数。
小明和妹妹最喜欢玩堆苹果的游戏,一天,小明将一些苹果摆成了n堆,每个堆的数量分别是1,2,3,......,n。但这些苹果堆并不一定是按苹果数的多少顺序摆放。
将苹果摆好后,小明对妹妹说,你可以从这些苹果堆中随便拿走一些苹果并藏起来,然后让我猜你拿走并藏了多少个苹果?
输入
输入苹果的堆数n(n<=40000)
然后输入各堆剩下的苹果数。
输出
输出拿走的苹果数。
样例输入
10
8 1 7 2 10 3 6 5 7 3
样例输出
3
思路
看懂题目特别简单,答案就是1到n的和减去给出数列的和
#include <iostream>
#include <stdio.h>
using namespace std;
int main(){
int n,a,b=0,c=0;
cin >> n ;
for (int i = 0 ; i < n ; i++) {
scanf("%d",&a);
b += a ;
}
c = (1 + n)*n/2 ;
cout << c - b ;
return 0;
}
/**************************************************************
Problem: 1889
User: 21XXXXXXXX
Language: C++
Result: 正确
Time:8 ms
Memory:2024 kb
****************************************************************/