P10815 【模板】快速读入题解
P10815 【模板】快速读入
题目背景
套取数据直接输出抢最优解是恶劣的违规行为,根据情节轻重,最高可以直接封号。
制约解除作战!
题目描述
给你 nnn 个数,你需要求和并输出。
输入格式
第一行一个整数 nnn。
之后一行 nnn 个整数以空格隔开,表示给定的 nnn 个数。
输出格式
一行一个数表示给定的数的和。
输入输出样例 #1
输入 #1
5
-1 2 -3 4 -5
输出 #1
-3
说明/提示
对于 25%25\%25% 的数据,满足 n=105n=10^5n=105。
对于 25%25\%25% 的数据,满足 n=106n=10^6n=106。
对于 25%25\%25% 的数据,满足 n=107n=10^7n=107。
对于 25%25\%25% 的数据,满足 n=108n=10^8n=108。
对于 100%100\%100% 的数据,满足所有数在 [−n,n][-n,n][−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;
}

浙公网安备 33010602011771号