JDOJ 2990: 求N个数的和

JDOJ 2990: 求N个数的和

JDOJ传送门

Description

给定N个整数,求这N个数的和是多少。

Input

第一行一个数字N (N < 107)。

第二行有N个整数,用空格间隔 (0 <= ai <= 107)。

Output

输出一个整数为N个数的和,答案可能很大,用int自然溢出即可。

Sample Input

5 9 7 6 2 3

Sample Output

27


题解:

练读入优化和卡常。

代码:

#include<cstdio>
#define R register
#pragma GCC optimize(1)
#pragma GCC optimize(2)
#pragma GCC optimize(3)
#pragma GCC optimize(s)
using namespace std;
int n,x,ans;
char *p1,*p2,buf[100000];
#define nc() (p1==p2 && (p2=(p1=buf)+fread(buf,1,100000,stdin),p1==p2)?EOF:*p1++)
inline int read()
{
    int x=0,f=1;
    char ch=nc();
    while(ch<48||ch>57)
    {
        if(ch=='-')
            f=-1;
        ch=nc();
    }
    while(ch>=48&&ch<=57)
        x=x*10+ch-48,ch=nc();
   	return x*f;
}
int main()
{
    n=read();
    for(R int i=1;i<=n;i++)
    {
        x=read();
        ans+=x;
    }
    printf("%d",ans);
    return 0;
}
posted @ 2020-10-20 14:14  Seaway-Fu  阅读(131)  评论(0编辑  收藏  举报