Vị trí số âm c++ Nhập vào một dãy N số nguyên A1,A2,...,AN (N≤10000,|Ai|≤109). Hãy in ra màn hình chỉ số phần tử âm đầu tiên và cuối cùng. Dữ liệu vào: Dòng đầu tiên chứa số N Dòng thứ 2 chứa N số nguyên A1,A2,...,AN. Kết quả: In ra chỉ số phần tử âm đầu tiên và cuối cùng, nếu ko có phần tử âm nào thì in ra 2 số −1 −1 Sample Input 7 7 -6 -4 19 -22 51 -82 Sample Output 2 7
2 câu trả lời
#include <iostream>
#include <deque>
using namespace std;
deque<int> a;
int n,x;
int main() {
ios::sync_with_stdio(0);
cin.tie(0);cout.tie(0);
cin >> n;
for (int i = 1;i <= n;i++) {
cin >> x;
if (x < 0) a.push_back(i);
}
if (a.empty())
cout << "-1 -1";
else
cout << a.front() << ' ' << a.back();
}
#include <iostream>
#include <cmath>
#include <math.h>
#include <string>
#include <queue>
#include <stack>
#include <stdio.h>
#include <cstdlib>
#include <cstring>
#include <bitset>
#include <deque>
#include <vector>
#include <map>
#include <fstream>
#define ll long long
#define ull unsigned long long
#define ar array;
using namespace std;
//Code dev by
//Copyright(C)
//Using C++
//And C
int main() {
ios::sync_with_stdio(0);
cin.tie(0);cout.tie(0);
int n;
cin >> n;
int a[n];
for(int i = 1; i <= n; ++i) {
cin >> a[i];
}
for(int i = 1; i <= n; ++i) {
if(a[i] < 0) {
cout << i << " ";
break;
}
}
for(int i = n; i > 0; --i) {
if(a[i] < 0) {
return cout << i,0;
}
}
cout << "-1 ";
cout << "-1";
}