高质量题解|A32851.基因研究
2026-01-30 17:33:55
发布于:北京
11阅读
0回复
0点赞
背景
这道题是作为ACGO欢乐赛第32届的一道题目,原名叫数组调整(在洛谷上可以找到)
原本是在洛谷上做这道题的,没想到今天又看见了(我还有关于这道题的求解
)
后来那道题是请输入文本.教会我的,再次感谢!
解题思路
还是照常输入n个数,存在a数组里
但是变得是有一个数字k,要求我们把这个下标为k的a[k]变成负的
然后再加起来,最后输出
这边需要注意一下,题目说了ai≤10 9ai≤10 9
所以需要long long类型,经过请输入文本.同学的推算

当n = 5时,就超出了int的范围
代码
#include <bits/stdc++.h>
using namespace std;
int a[1000001];
int main(){
long long n,k;
cin >> n >> k;
for(int i = 1;i <= n;i++){
cin >> a[i];
}
long long cnt = 0;
a[k] = -a[k];
for(int i = 1;i <= n;i++){
cnt += a[i];
}
cout << cnt;
return 0;
}
全部评论 1
建议贴主修改格式,可以使你的题解质量更高喵
3天前 来自 浙江
1什么格式?教教我
3天前 来自 北京
0https://help.luogu.com.cn/rules/academic/guide/solution
3天前 来自 浙江
1看着可能很多,但是你认真看看,其实也不难
3天前 来自 浙江
1













有帮助,赞一个