牛客网-连续整数

来源:互联网 发布:windows assembly 编辑:程序博客网 时间:2024/04/30 07:41

牛牛的好朋友羊羊在纸上写了n+1个整数,羊羊接着抹除掉了一个整数,给牛牛猜他抹除掉的数字是什么。牛牛知道羊羊写的整数神排序之后是一串连续的正整数,牛牛现在要猜出所有可能是抹除掉的整数。例如:
10 7 12 8 11 那么抹除掉的整数只可能是9
5 6 7 8 那么抹除掉的整数可能是4也可能是9

输入描述:
输入包括2行:

第一行为整数n(1 <= n <= 50),即抹除一个数之后剩下的数字个数

第二行为n个整数num[i] (1 <= num[i] <= 1000000000)

输出描述:
在一行中输出所有可能是抹除掉的数,从小到大输出,用空格分割,行末无空格。如果没有可能的数,则输出mistake

输入例子:
2
3 6

输出例子:
mistake

#include"iostream"#include"algorithm"using namespace std;int main(){    int n;    int ai[60];    int he=0;    cin>>n;    for(int i=0;i<n;i++)    {        cin>>ai[i];        he += ai[i];    }    sort(ai,ai+n);    for(int i=0;i<n-1;i++)    {        if(ai[i]==ai[i+1])        {            cout<<"mistake"<<endl;            return 0;        }    }    if(ai[n-1]-ai[0]>n)        cout<<"mistake"<<endl;    else if(ai[n-1]-ai[0]==n)    {        int lose=(ai[0]+ai[n-1])*(n+1)/2-he;        cout<<lose<<endl;    }    else if(ai[n-1]-ai[0]==n-1)    {        if(ai[0]!=1)        cout<<ai[0]-1<<' '<<ai[n-1]+1<<endl;        else            cout<<ai[n-1]+1<<endl;    }    return 0;}

没看清题 wa了两次

0 0