Submission #169326

# Submission time Handle Problem Language Result Execution time Memory
169326 2019-12-19T18:30:32 Z pr3pony Programming Contest (POI11_pro) C++14
100 / 100
110 ms 1400 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] || 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 2 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 552 KB Output is correct
2 Correct 10 ms 504 KB Output is correct
3 Correct 2 ms 296 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 38 ms 932 KB Output is correct
2 Correct 38 ms 888 KB Output is correct
3 Correct 2 ms 376 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 74 ms 888 KB Output is correct
2 Correct 20 ms 504 KB Output is correct
3 Correct 19 ms 376 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 110 ms 888 KB Output is correct
2 Correct 48 ms 696 KB Output is correct
3 Correct 5 ms 376 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 9 ms 504 KB Output is correct
2 Correct 15 ms 888 KB Output is correct
3 Correct 94 ms 888 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 78 ms 888 KB Output is correct
2 Correct 2 ms 376 KB Output is correct
3 Correct 3 ms 376 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 14 ms 504 KB Output is correct
2 Correct 71 ms 1400 KB Output is correct
3 Correct 2 ms 436 KB Output is correct