问题标题: 酷町堂:1616求解!!!

0
0
已解决
李宜和
李宜和
高级启示者
高级启示者

1616   擦数游戏(game)

经验值:800 时间限制:1000毫秒

包河区2017年信息学竞赛试题

不许抄袭,一旦发现,直接清空经验!

题目描述 Description

小红喜欢玩一个擦数的游戏:黑板上写了n个数,每次任意擦去两个数,再写上这两个数的和减1的差,例如:擦掉9和13,要写上21。经过几次后,黑板上就会剩下一个数,请你编程数出游戏操作的次数和最后剩下的这个数。

输入描述 Input Description

第1行输入n(0<=n<=100000)
第2行输入这n个数字的值

输出描述 Output Description

第一行输出经过几次后黑板上才会剩下一个数
第二行输出最后剩下的这个数

样例输入 Sample Input

6 8 9 10 11 12 13

样例输出 Sample Output

5 58

 

 

 

#include<bits/stdc++.h>
using namespace std;
long long a[10000],n,sum,cnt;
int main(){
    cin>>n;
    for(int i=1;i<=n;i++){
        cin>>a[i];
        sum+=a[i];
        cnt++;
    }
    cout<<cnt<<"\n";
    cout<<sum-n+1;
    return 0;
}

80分WA


0
已采纳
李锦昊
李锦昊
中级天翼
中级天翼

你有几个问题:

1.你A数组开小了,应开100005

2.n<=0要特判0的情况

看看281神不神奇,保证没用F12

李锦昊在2021-07-20 10:00:56追加了内容

https://wenda.codingtang.com/questions/14499/

你看看你自己回答的

0
有名氏
有名氏
初级守护
初级守护

核心

if(n==0){
        cout<<0<<endl<<0;
    }
    else{
        cout<<n-1<<endl;
        cout<<sum-(n-1);
    }

 

0
我要回答