Cho một dãy gồm n số nguyên dương A1,A2,…,AnA1,A2,…,An. (N≤105,Ai≤109N≤105,Ai≤109) và số K.
Hãy in số nhỏ nhất lớn hơn K cùng chỉ số của nó, nếu có nhiều số nhỏ nhất lớn hơn K thì in ra các chỉ số của nó.
Input:
Dòng đầu chứa số n và K, dòng thứ hai chứa n số nguyên dương A1,A2,…,AnA1,A2,…,An.
Output:
Dòng đầu chứa số có giá trị nhỏ nhất lớn hơn K, dòng thứ hai chứa các chỉ số của nó.
Input
Copy
6 35
91 32 43 43 451 54
Output
Copy
43
3 4
#include <bits/stdc++.h>
using namespace std;
long long a[10000],i,n,k,x;
int main()
{
cin>>n>>k;
for (i=1; i<=n; i++) cin>>a[i];
sort(a+1,a+n+1);
x=LLONG_MIN;
for (i=1; i<=n; i++)
if (a[i]>k)
{
x=a[i];
break;
}
cout<<x<<" ";
for (i=1; i<=n; i++)
if (x==a[i]) cout<<i<<" ";
return 0;
}