竞赛
考级
先读取数字个数n; 用long long类型的sum存储总和(因为题目中a_i的范围很大,普通int会溢出); 循环读取n个数字,依次累加到sum中; 最后输出总和。
这个我觉得不是很好吧,反正能做对就行 其实就是想偷懒 整体思路就是拿数组存a[i],然后cnt一加就行 必须开long long! 求赞,谢
#include <iostream> using namespace std; int main() { ios::sync_with_stdio(false); cin.tie(nullptr); }
注:using i=long long可以删除,但i要改成long long
题目说要开longlong,不要开short和int。 add=增加
看到和第一时间想起了前缀和,虽然是五级内容吧,但并不难理解,看代码 因s[0]=0,s[1]=s[0]+a[1]=0+a[1]=a[1] s[2]=s[1]+a[2]=a[1]+a[2] s[3]=s[2]+a[3]=a[1]+a[2]+a[3] ...... s[n]=s[n-1]+a[n]=a[1]+a[2]+a[3]+a[4]+......a[n-1]+a[n] 制作不易,求赞!
这和某个板子很像啊。 简单的求和。依旧大炮打蚊子,我们使用快读快写 只要对于每个数加进求和变量 sumsumsum 即可。 AC CODE 为啥还有更优解法,是手写了 getchar_unlocked 这个函数嘛?
这个题十分简单 但必须非常细致
诶嘿
优点:速度快 缺点:空间大 思路:1.定义(主函数外) 2.输入 3.计数 4.输出 代码如下:
用long long,不需要用数组 代码:
#include<bits/stdc++.h>//submitRecord// using namespace std; //const int N=1e7+10; int main(){ //freopen("","r",stdin); //freopen("","w",stdout); ios::sync_with_stdio(); cin.tie(nullptr); cout.tie(nullptr); long long n,sum=0; cin>>n; long long a[n+5]; for(int i=1;i<=n;i++){ cin>>a[i]; sum+=a[i]; } cout<<sum; //fclose(stdin); //fclose(stdout); return 0; }
啊吧啊吧 #include<bits/stdc++.h> using namespace std; int main(){ int n; cin >> n; long long sum = 0; for (int i = 0; i < n; ++i) { long long num; cin >> num; sum += num;+ } cout << sum << endl; return 0; }
提交答案之后,这里将显示提交结果~