Submission #169355

# Submission time Handle Problem Language Result Execution time Memory
169355 2019-12-20T04:56:29 Z pr3pony Programming Contest (POI11_pro) C++14
100 / 100
116 ms 2212 KB
#include <bits/stdc++.h>
using namespace std;
const int N = 505;
vector<int> gx[N];
int my[N];
int vy[N], vcnt;
bool dead[N];
int cnt[N];
bool dfs(int x)
{
    for (const int & y : gx[x]) {
        if (vy[y] == vcnt)
            continue;
        vy[y] = vcnt;
        if (my[y] == x)
            continue;
        if (!my[y] || dfs(my[y])) {
            my[y] = x;
            return true;
        }
    }
    return false;
}
int main()
{
    ios::sync_with_stdio(0);
    cin.tie(0);
    int n, m, r, t, k;
    cin >> n >> m >> r >> t >> k;
    for (int i = 0; i < k; ++i) {
        int a, b;
        cin >> a >> b;
        gx[a].push_back(b);
    }
    int tot = 0, mat = 0;
    for (int i = 1; i <= m && i * r <= t; ++i)
        for (int u = 1; u <= n; ++u) {
            if (dead[u])
                continue;
            ++vcnt;
            if (dfs(u))
                tot += i * r, ++mat;
            else
                dead[u] = true;
        }
    cout << mat << ' ' << tot << '\n';
    for (int i = 1; i <= m; ++i)
        if (my[i])
            cout << my[i] << ' ' << i << ' ' << cnt[my[i]]++ * r << '\n';
}
# Verdict Execution time Memory Grader output
1 Correct 3 ms 376 KB Output is correct
2 Correct 2 ms 376 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 2 ms 376 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 2 ms 376 KB Output is correct
2 Correct 2 ms 376 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 10 ms 632 KB Output is correct
2 Correct 11 ms 632 KB Output is correct
3 Correct 2 ms 372 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 40 ms 1600 KB Output is correct
2 Correct 40 ms 1528 KB Output is correct
3 Correct 2 ms 376 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 79 ms 1400 KB Output is correct
2 Correct 21 ms 760 KB Output is correct
3 Correct 2 ms 376 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 116 ms 1656 KB Output is correct
2 Correct 50 ms 988 KB Output is correct
3 Correct 3 ms 376 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 9 ms 632 KB Output is correct
2 Correct 16 ms 1400 KB Output is correct
3 Correct 99 ms 1784 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 81 ms 1528 KB Output is correct
2 Correct 2 ms 376 KB Output is correct
3 Correct 2 ms 376 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 14 ms 720 KB Output is correct
2 Correct 71 ms 2212 KB Output is correct
3 Correct 2 ms 376 KB Output is correct