【模板】快速读入题解

题目背景

套取数据直接输出抢最优解是恶劣的违规行为,根据情节轻重,最高可以直接封号。

制约解除作战!

题目描述

给你 n 个数,你需要求和并输出。

输入格式

第一行一个整数 n。

之后一行 n 个整数以空格隔开,表示给定的 n 个数。

输出格式

一行一个数表示给定的数的和。

输入输出样例

输入 #1复制

5
-1 2 -3 4 -5

输出 #1复制

-3

说明/提示

对于 25% 的数据,满足 n=105。

对于 25% 的数据,满足 n=106。

对于 25% 的数据,满足 n=107。

对于 25% 的数据,满足 n=108。

对于 100% 的数据,满足所有数在 [−n,n] 之间。

数据保证对于序列的任何前缀,这个前缀的和在 32 位有符号整形的存储范围内。

思路

快读快写。

代码见下

#include<bits/stdc++.h>
using namespace std;
int n,a,b=0;
char *p1,*p2,buf[100000];
#define nc() (p1==p2 && (p2=(p1=buf)+fread(buf,1,100000,stdin),p1==p2)?EOF:*p1++)
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(){
	cin>>n;
    for(int i=1;i<=n;i++){
        //scanf("%d",&a);
        b+=read();
    }
    cout<<b<<endl;
    return 0;
}

posted @ 2025-10-15 21:55  bz02_2023f2  阅读(12)  评论(0)    收藏  举报  来源