arr03 c++ Cho một dãy gồm n số nguyên dương A1,A2,…,An. (N≤10^5,Ai≤10^9) 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,…,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 6 35 91 32 43 43 451 54 Output 43 3 4
2 câu trả lời
#include<bits/stdc++.h>
using namespace std;
int main()
{
long long n,m,t=9999999999;
cin>>n>>m;
long long a[n];
for (int i=0 ;i<n ;i++)
{
cin>> a[i];
if (a[i] > m && a[i] < t) t=a[i];
}
cout<<t<<endl;
for (int i=0 ;i<n ;i++)
if (t==a[i]) cout<<i+1<<" ";
}
#include <iostream>
#include <vector>
using namespace std;
int n,cnt,m,k,x;
vector<int> v;
int main() {
m = 1e9;
cin >> n >> k;
for (int i = 1;i <= n;i++) {
cin >> x;
if (x == m)
v.push_back(i);
if (x > k && x < m) {
v.clear();
m = x;
v.push_back(i);
}
}
cout << m << '\n';
for (auto x: v)
cout << x << ' ';
}
Câu hỏi trong lớp
Xem thêm