제출 #1204096

#제출 시각아이디문제언어결과실행 시간메모리
1204096Ghulam_JunaidArranging Tickets (JOI17_arranging_tickets)C++20
10 / 100
1315 ms1460 KiB
#include <bits/stdc++.h>
using namespace std;

const int N = 21;
int n, m, cnt[N];

int main(){
    cin >> n >> m;
    vector<pair<int, int>> vec;
    for (int i = 0; i < m; i ++){
        int a, b, c;
        cin >> a >> b >> c;
        a--; b--;
        vec.push_back({a, b});
    }

    int ans = m;
    for (int mask = 0; mask < (1 << m); mask ++){
        memset(cnt, 0, sizeof cnt);
        for (int i = 0; i < m; i ++){
            int mn = min(vec[i].first, vec[i].second);
            int mx = max(vec[i].first, vec[i].second);

            if ((1 << i) & mask){
                for (int j = mn; j < mx; j ++)
                    cnt[j]++;
            }
            else{
                for (int j = mx; j != mn; j = (j + 1) % n)
                    cnt[j]++;
            }

        }

        int mx = 0;
        for (int i = 0; i < n; i ++){
            // cout << cnt[i] << " -- ";
            mx = max(mx, cnt[i]);
        }
        cout << endl;

        ans = min(ans, mx);
    }
    cout << ans << endl;
}
#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...