本文主要是介绍B3651 [语言月赛202208] 数组调整,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
题目描述
给出一个长度为 n 的数组,第 i 个数为ai。
为了调整这个数组,需要将第 k 个数改变为 −ak。
请你求出调整后的数组中所有数的和。
输入格式
输入共两行。
输入的第一行为两个整数 n,k。
输入的第二行为 n 个整数,第 i 个为 ai。
输出格式
输出一行一个整数,代表调整后的数组中所有数的和。
输入输出样例
输入 #1
10 7 1 2 3 4 5 6 7 8 9 10
输出 #1
41
输入 #2
5 2 1 999 4 3 2
输出 #2
-989
输入 #3
10 2 1 0 1 1 1 1 1 1 1 1
输出 #3
9
说明/提示
输入输出样例 1 解释
调整后的数组为 1 2 3 4 5 6 -7 8 9 10
,和为 41。
输入输出样例 2 解释
调整后的数组为 1 -999 4 3 2
,和为 -989。
数据规模与约定
对于 5%5% 的数据,为输入输出样例 1。
对于另外 40%40% 的数据,需要调整位置上的数 ak=0。
对于另外 20%20% 的数据,k=1。
对于 100%100% 的数据,1≤k≤n,n≤106,0≤ai≤109。
Code:
#include<bits/stdc++.h>
using namespace std;
long long n,k,a[10000100],sum=0;
int main(){cin>>n>>k;for(int i=1;i<=n;i++){cin>>a[i];sum+=a[i];}cout<<sum-a[k]*2;return 0;
}
这篇关于B3651 [语言月赛202208] 数组调整的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!