PTIT059 - Thêm phần tử vào mảng

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

Tác giả:
Dạng bài
Ngôn ngữ cho phép
C, C#, C++, Go, Java, Pascal, Perl, PHP, Python, Ruby, Rust, Scratch, Swift

Tuy là 1 cô gái nhưng Annie lại đam mê với môn học đánh bài, vì đang là sinh viên ngành CNTT nên cô nghĩ ra 1 trò chơi.

Cô có N lá bài được đánh số là ~a_{1},a_{2}....a_{n}~ và ~N~ lá bài đã được sắp xếp sẵn và cô cho thêm 1 quân bài ~ x~

Yêu cầu của Annie là làm sao để đưa quân bài ~x~ vào bộ bài để dãy sau khi được thêm vẫn là dãy tăng dần.

Input

  • Dòng 1 chứa 1 số nguyên duy nhất ~N~ là số lượng quân bài ~(1, \le N \le 10000)~.
  • Dòng thứ 2 chứa ~N~ số nguyên ~a_i~ ~(1 \le a_{i} \le 10000)~ là số ghi trên lá bài
  • Dòng thứ 3 chứa số nguyên là ~x~ ~(0 \le x\le 10000)~ là lá bài được thêm

Output

In ra màn hình mảng sau khi đã được thêm phần tử ~x~

Sample

Input #1
5
1 2 3 8 9
5
Output #1
1 2 3 5 8 9 

Problem source: CLB Lập Trình PTIT


Bình luận

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



  • 0
    Thanhdev394  đã bình luận lúc 5, Tháng 2, 2024, 13:30 sửa 2

    Phương pháp giải đơn giản nhất là dùng vector

    Ý tưởng: nhập vector vào, cho phần tử x vào trong vector bằng v.push_back(x) rồi sort lại từ đầu đến cuối

    Kết quả: FULL AC

    #pragma GCC optimize("Ofast,unroll-loops") 
    #pragma GCC target("avx,avx2,fma") 
    
    #include <bits/stdc++.h>
    
    using namespace std;
    
    template&lt;typename A, typename B> ostream& operator<<(ostream &os, const pair&lt;A, B> &p) { return os << '(' << p.first << ", " << p.second << ')'; }
    template&lt;typename T_container, typename T = typename enable_if<!is_same&lt;T_container, string>::value, typename T_container::value_type>::type> ostream& operator<<(ostream &os, const T_container &v) { os << '{'; string sep; for (const T &x : v) os << sep << x, sep = ", "; return os << '}'; }
    void dbg_out() { cerr << endl; }
    template&lt;typename Head, typename... Tail> void dbg_out(Head H, Tail... T) { cerr << ' ' << H; dbg_out(T...); }
    #ifdef LOCAL
    #define dbg(...) cerr << "(" << #__VA_ARGS__ << "):", dbg_out(__VA_ARGS__)
    #else
    #define dbg(...)
    #endif
    
    #define ar array
    #define fi first
    #define se second
    #define FOR(i,a,b) for(int i = (a); i<=(b); i++)
    #define FORSQRT(i,a,b) for(int i = (a); i*i<=(b); i++)
    #define FOD(i,a,b) for(int i = (a); i<=sqrt((b)); i++)
    #define ll long long
    #define ld long double
    #define sza(x) ((int)x.size())
    #define all(a) (a).begin(), (a).end()
    #define readFile(name) if(fopen(name".inp","r")) {freopen(name".inp","r",stdin); freopen(name".out","w",stdout);}
    #define TIME (1.0 * clock() / CLOCKS_PER_SEC)
    #define thanhdevgobrr signed main()
    
    const int MAX_N = 1e5 + 5;
    const ll MOD = 1e9 + 7;
    const ll INF = 1e9;
    const ld EPS = 1e-9;
    const int mx = 1e7+5;
    const double pi = acos(-1);
    
    vector&lt;long long> v;
    long long n, x, a;
    void solve() {
        cin >> n;
        for(int i = 1; i<=n; i++)
        {
            cin >> a;
            v.push_back(a);
        }
        cin >> x;
        v.push_back(x);
        sort(v.begin(), v.end());
        for(int j = 0; j&lt;v.size(); j++) // nếu bị lỗi "&lt" thì có nghĩa là dấu "<" nhé
            cout << v[j] << ' ';
    }
    
    thanhdevgobrr {
        ios_base::sync_with_stdio(NULL);
        cin.tie(NULL);
        cout.tie(NULL);
        int tc = 1;
        for (int t = 1; t <= tc; t++) {
            solve();
        }
        return(0 ^ 0);
    }
    

  • 0
    deno  đã bình luận lúc 11, Tháng 12, 2023, 15:52

    DENO:

    #include <stdio.h> #include <stdlib.h> int cmp(void const x,void const *y){ int *a=(int *)x; int *b=(int *)y; if(a>*b)return 1; return -1; } int main(){ int n;

    scanf("%d",&n);
    int a[n];
    for(int i=0;i&lt;n;i++){
        scanf("%d",&a[i]);
    }
    int k;
    scanf("%d",&k);
    for(int i=0;i<=n;i++){
        a[n]=k;
    }
     qsort(a,n+1,sizeof(int),cmp);
     for(int i=0;i<=n;i++){
        printf("%d ",a[i]);
     }
    

    }