제출 #1337756

#제출 시각아이디문제언어결과실행 시간메모리
1337756nguyengiabach1201BOI Acronym (BOI25_boi)C++20
0 / 100
1 ms836 KiB
#include <iostream>
#include <vector>
#include <algorithm>

using namespace std;

// Ma tran luu tru cac goi y M[l][r]
int M[2005][2005];
int P[2005]; // Mang cong don so luong ky tu 'B'

int main() {
    // Toi uu toc do nhap xuat
    ios_base::sync_with_stdio(false);
    cin.tie(NULL);

    int n;
    if (!(cin >> n)) return 0;

    // Doc du lieu dau vao theo cau truc tam giac cua cac goi y
    for (int i = 1; i <= n; ++i) {
        for (int j = i; j <= n; ++j) {
            cin >> M[i][j];
        }
    }

    P[0] = 0;
    for (int i = 1; i <= n; ++i) {
        // Mac dinh thu dat 'B' tai vi tri i
        P[i] = P[i - 1] + 1;
        
        // Kiem tra tat ca cac rang buoc de tim gia tri P[i] lon nhat hop le
        // P[i] - P[j] <= M[j+1][i] => P[i] <= P[j] + M[j+1][i]
        for (int j = 0; j < i; ++j) {
            P[i] = min(P[i], P[j] + M[j + 1][i]);
        }
    }

    // In ra cac vi tri ma tai do P[i] tang len (co ky tu 'B')
    bool first = true;
    for (int i = 1; i <= n; ++i) {
        if (P[i] > P[i - 1]) {
            if (!first) cout << " ";
            cout << i;
            first = false;
        }
    }
    cout << endl;

    return 0;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...