站外题求助qaq救救我
查看原帖
站外题求助qaq救救我
1240580
Chinese_good_FaFa楼主2024/9/5 12:48

第5题 姓氏 (name) (2015桂城五-6) 时限:1s 空间:256m 【题目描述】

在一个很大的课室里,里面有很多学生在听课。L老师挑选了其中的N个不同的学生起立回答问题,L老师对起立的每一个学生都是问同样的问题:“在本课室里,和你同姓的学生有多少人(不包括你自己)?”。这N个起立的同学的回答如下:

第1位起立的同学回答:和我同姓的,除了我之外,本课室里还有A[1]个学生。

第2位起立的同学回答:和我同姓的,除了我之外,本课室里还有A[2]个学生。

第3位起立的同学回答:和我同姓的,除了我之外,本课室里还有A[3]个学生。

。。。。。。

第N位起立的同学回答:和我同姓的,除了我之外,本课室里还有A[N]个同学。

假设这N位同学的回答都是正确的,那么课室里至少有多少个学生?

【输入格式】

第一行,一个整数N。

第二行,N个整数,空格分开,第i个整数表示A[i]。

【输出格式】

一个整数,表示课室里至少有多少个学生。

【数据范围】

对于20%的数据, N = 2,0<=A[i]<=10。

对于另外20%的数据, N = 3, 0<=A[i]<=100。

对于100%的数据,3<N<=50,0<=A[i]<=1000000。

输入 #1

4

1 2 1 2

输出 #1

5

解释 #1

根据4位学生的回答,可以推断出课室不可能少于5个学生,所以输出5。

输入 #2

9

2 2 44 2 2 2 444 2 2

输出 #2

499

解释 #2

根据9位学生的回答,可以推断出课室不可能少于499个学生,所以输出499。

#include<bits/stdc++.h>
using namespace std;
int n,a[100],sum;
int main(){
   cin>>n;
   for(int i=0;i<n;i++){
   	cin>>a[i];
   }
   sort(a,a+n);
   int ans=unique(a,a+n)-a;
   for(int i=0;i<ans;i++){
   	sum+=a[i]+1;
   }
   cout<<sum;
   return 0;
}

本人刚出生,不会做救救我

2024/9/5 12:48
加载中...