[Mảng 1 Chiều Cơ Bản]. Bài 18. Liền kề trái dấu

Xem dạng PDF

Gửi bài giải

Điểm: 1,00 (OI)
Giới hạn thời gian: 1.0s
Giới hạn bộ nhớ: 256M
Input: stdin
Output: stdout

Tác giả:
Nguồn bài:
28Tech
Dạng bài
Ngôn ngữ cho phép
C, C#, C++, Java, Kotlin, Pascal, PyPy, Python, Scratch

Cho mảng số nguyên A[] gồm N phần tử, hãy liệt kê theo thứ tự xuất hiện các số thỏa mãn có ít nhất 1 số trái dấu với nó đứng cạnh nó.


Đầu vào

Dòng đầu tiên là số nguyên dương N

Dòng thứ 2 gồm N số nguyên viết cách nhau một vài khoảng trắng


Giới hạn

2<=N<=10^6

-10^6<=A[i]<=10^6


Đầu ra

In ra kết quả của bài toán


Ví dụ :

Input 01
10
1 2 -3 -4 5 -6 7 8 9 10
Output 01
2 -3 -4 5 -6 7

Bình luận

Hãy đọc nội quy trước khi bình luận.



  • 0
    phnam212  đã bình luận lúc 22, Tháng 1, 2025, 3:08

    cực dễ hiểu cho ae nha

    include<bits/stdc++.h>

    using namespace std;

    int main(){

    int n;cin>>n;
    vector&lt;long long> v(n);
    for(int i=0;i < n;i++){
        cin>>v[i];
    }
    vector<bool> printed(n, false);
    int i=0;
    while(i<(n-1)){
        if((v[i]*v[i+1] < 0)){
             if (!printed[i]) {
                cout<< v[i]<<" ";
                printed[i] = true;
            }
            if (!printed[i + 1]) {
                cout<< v[i+1]<<" ";
                printed[i + 1] = true;
            }
        }
        i++;
    }
    return 0;
    

    }


  • -1
    VDev  đã bình luận lúc 17, Tháng 1, 2025, 12:35 sửa 6

    FULL AC

    #include <bits/stdc++.h>
    #include <iomanip>
    #include <cmath>
    #include <climits>
    #define ll long long
    using namespace std;
    ll a[10000011];
    ll cnt = 0, s = 0;
    
    int main(){
        ll n;
        cin >> n;
        for(ll i = 1; i <= n; i++){
            cin >> a[i];
        }
        for(ll i = 1; i <= n; i++){
        if((a[i] < 0 && a[i + 1] > 0) || (a[i] > 0 && a[i + 1] < 0) || (a[i - 1] < 0 && a[i] > 0) || (a[i - 1] > 0 && a[i] < 0)){
            cout << a[i] << " ";
        }
        }
        return 0;
    }
    

  • 0
    Dungx_2008  đã bình luận lúc 24, Tháng 11, 2024, 13:51

    include <bits/stdc++.h>

    define N int(1e6)

    using namespace std; int n,a[N]; int main() { cin >> n; for(int i=1;i<=n;i++) cin >> a[i]; if(a[1] > 0 && a[2] < 0 || a[1] < 0 && a[2] > 0) cout << a[1] << " "; for(int i=2;i<n;i++) { if(a[i] > 0) { if(a[i-1] <0 || a[i+1] < 0) cout << a[i] << " "; } else { if(a[i-1] > 0 || a[i+1] > 0) cout << a[i] << " "; } } if(a[n] > 0 && a[n-1] < 0 || a[n] < 0 && a[n-1] > 0) cout << a[n] << " "; return 0; }


  • -1
    quynhmainehihi  đã bình luận lúc 7, Tháng 11, 2024, 13:25

    moi nguoi cuu e voi e k biet code


    • -1
      anhthu  đã bình luận lúc 7, Tháng 11, 2024, 13:49

      ke em


      • -2
        quynhmainehihi  đã bình luận lúc 7, Tháng 11, 2024, 13:49

        dung de t phot m


  • -3
    dangkhoa2836  đã bình luận lúc 19, Tháng 7, 2024, 17:36

    xin góp vui một cách bài này:33

    include <stdio.h>

    define ll long long

    int main(){
        int n; scanf ("%d", &n);
        ll a[n];
        for (int i = 0; i < n; i++) scanf ("%lld", &a[i]);
        for (int i  =0; i < n; i++){
            if (((i > 0) & ((a[i] >> 63) ^ (a[i - 1] >> 63))) | ((i < n - 1) & ((a[i] >> 63) ^ (a[i + 1] >> 63)))) 
                printf ("%lld ", a[i]);
        }
    
    }