题目描述:
某位信息老师要出试卷,他选泽的题目有N题,每题都有一个难度值a(0<=a<=10^12),不保证每个难度都只有一题,老师要选的题难度值一定要在规定的难度值以上(含等于),求出不符合条件的题目,当全部小于(含等于)规定的难度值时输出all,若所有题的难度值都在规定难度值以上(含等于),则输出-1。( 当所有题的难度都等于规定的难度值,仅输出all )
输入格式:
第一行 一个整数 n
第二行 一个整数 ai表示规定的难度值。
第三行 n个整数。
输出格式:
第一行一个整数输出有几道难度低于ai。当全部小于等于ai时只输出all.全部都高于等于只输出-1
如果并非都是或都不是,然后输出编号和难度
样例输入:
10 8 1 9 2 4 3 5 6 7 8 8
样例输出:
7 1 1 3 2 4 4 5 3 6 5 7 6 8 7
提示:
100% 1<=n<=300,1<=a<=10^12
只输出-1和all都只会有20分。
认真审题
时间限制: 1000ms
空间限制: 256MB
代码如下:
#include<bits/stdc++.h>
using namespace std;
long long b[1000001];
int main(){
long long n,a,s=0,s1=0,s2=0;
cin>>n>>a;
for(int i=0;i<n;i++){
cin>>b[i];
if(b[i]==a){
s++;
}
if(b[i]>a){
s1++;
}
if(b[i]<a){
s2++;
}
}
if(s+s2==n){
cout<<"all";
return 0;
}else if(s==n){
cout<<"all";
return 0;
}else if(s1+s==n){
cout<<-1;
return 0;
}
cout<<s2<<endl;
for(int i=0;i<n;i++){
if(b[i]<a){
cout<<i+1<<" "<<b[i]<<endl;
}
}
return 0;
}