Submission #6000800
Source Code Expand
#include <bits/stdc++.h> using namespace std; struct Dinic{ struct edge { int64_t to, cap, rev; edge(int64_t to, int64_t cap, int64_t rev):to(to), cap(cap), rev(rev){} }; int N, S, T; int64_t flow = 0; const int64_t INF = 1e18; vector<int> level, iter; vector<vector<edge>> G; Dinic(int N, int S, int T):N(N), S(S), T(T){ flow = 0; level.resize(N); iter.resize(N); G.resize(N); } void add_edge(int from, int to, int64_t cap){ G[from].emplace_back(to, cap, G[to].size()); G[to].emplace_back(from, 0, G[from].size()-1); } void bfs(int s){ fill(level.begin(), level.end(), -1); queue<int> que; level[s] = 0; que.push(s); while(que.size()){ int v = que.front(); que.pop(); for(auto& e : G[v]){ if(e.cap > 0 && level[e.to] < 0){ level[e.to] = level[v] + 1; que.push(e.to); } } } } int64_t dfs(int v, int t, int64_t f){ if(v == t) return f; for(int& i=iter[v]; i<G[v].size(); i++){ auto& e = G[v][i]; if(e.cap > 0 && level[v] < level[e.to]){ int64_t d = dfs(e.to, t, min(f, e.cap)); if(d > 0){ e.cap -= d; G[e.to][e.rev].cap += d; return d; } } } return 0; } int64_t max_flow(){ while(true){ bfs(S); if(level[T] < 0) return flow; fill(iter.begin(), iter.end(), 0); while(true){ int64_t f = dfs(S, T, INF); if(f == 0) break; flow += f; } } } }; int main(){ int N, M[300], X[300]; cin >> N; for(int i=0; i<N; i++) cin >> M[i] >> X[i]; int64_t fix = 0; int S = 300, T = 301; Dinic solver(T+1, S, T); for(int i=0; i<N; i++){ if(X[i] > 0){ fix += X[i]; solver.add_edge(S, i, 0); solver.add_edge(i, T, X[i]); }else{ solver.add_edge(S, i, -X[i]); solver.add_edge(i, T, 0); } } const int64_t INF = 1e15; for(int i=0; i<N; i++) for(int j=0; j<N; j++){ if(i != j && M[i] % M[j] == 0){ solver.add_edge(j, i, INF); } } int64_t ans = fix - solver.max_flow(); cout << ans << endl; }
Submission Info
Submission Time | |
---|---|
Task | H - Akashic Records |
User | betrue12 |
Language | C++14 (GCC 5.4.1) |
Score | 0 |
Code Size | 2628 Byte |
Status | WA |
Exec Time | 2 ms |
Memory | 384 KB |
Judge Result
Set Name | Sample | All | ||||||
---|---|---|---|---|---|---|---|---|
Score / Max Score | 0 / 0 | 0 / 100 | ||||||
Status |
|
|
Set Name | Test Cases |
---|---|
Sample | a01, a02, a03 |
All | a01, a02, a03, b04, b05, b06, b07, b08, b09, b10, b11, b12, b13, b14, b15, b16, b17, b18, b19, b20, b21, b22, b23, b24, b25, b26, b27, b28, b29, b30, b31, b32, b33, b34, b35, b36, b37, b38, b39, b40, b41, b42, b43, b44, b45, b46, b47, b48, b49, b50, b51, b52, b53, b54, b55, b56, b57, b58, b59, b60, b61, b62, b63 |
Case Name | Status | Exec Time | Memory |
---|---|---|---|
a01 | AC | 1 ms | 256 KB |
a02 | AC | 1 ms | 256 KB |
a03 | AC | 1 ms | 256 KB |
b04 | AC | 1 ms | 256 KB |
b05 | AC | 2 ms | 384 KB |
b06 | AC | 2 ms | 384 KB |
b07 | WA | 1 ms | 256 KB |
b08 | WA | 2 ms | 384 KB |
b09 | AC | 1 ms | 256 KB |
b10 | WA | 1 ms | 256 KB |
b11 | WA | 1 ms | 256 KB |
b12 | WA | 1 ms | 256 KB |
b13 | WA | 1 ms | 256 KB |
b14 | WA | 2 ms | 256 KB |
b15 | WA | 2 ms | 384 KB |
b16 | WA | 2 ms | 384 KB |
b17 | WA | 2 ms | 384 KB |
b18 | WA | 2 ms | 384 KB |
b19 | WA | 2 ms | 384 KB |
b20 | WA | 2 ms | 384 KB |
b21 | WA | 2 ms | 384 KB |
b22 | WA | 2 ms | 384 KB |
b23 | WA | 2 ms | 384 KB |
b24 | WA | 2 ms | 384 KB |
b25 | WA | 2 ms | 384 KB |
b26 | WA | 2 ms | 384 KB |
b27 | WA | 2 ms | 384 KB |
b28 | WA | 2 ms | 384 KB |
b29 | WA | 2 ms | 384 KB |
b30 | WA | 2 ms | 384 KB |
b31 | WA | 2 ms | 384 KB |
b32 | WA | 2 ms | 384 KB |
b33 | WA | 2 ms | 384 KB |
b34 | WA | 2 ms | 384 KB |
b35 | WA | 2 ms | 384 KB |
b36 | WA | 2 ms | 384 KB |
b37 | WA | 2 ms | 384 KB |
b38 | WA | 2 ms | 384 KB |
b39 | WA | 2 ms | 384 KB |
b40 | WA | 2 ms | 384 KB |
b41 | WA | 2 ms | 384 KB |
b42 | WA | 2 ms | 384 KB |
b43 | WA | 2 ms | 384 KB |
b44 | WA | 2 ms | 384 KB |
b45 | WA | 2 ms | 384 KB |
b46 | WA | 2 ms | 384 KB |
b47 | WA | 2 ms | 384 KB |
b48 | WA | 2 ms | 384 KB |
b49 | WA | 2 ms | 384 KB |
b50 | WA | 2 ms | 384 KB |
b51 | WA | 2 ms | 384 KB |
b52 | WA | 2 ms | 384 KB |
b53 | WA | 2 ms | 384 KB |
b54 | WA | 2 ms | 384 KB |
b55 | WA | 2 ms | 384 KB |
b56 | WA | 2 ms | 384 KB |
b57 | WA | 2 ms | 384 KB |
b58 | WA | 2 ms | 384 KB |
b59 | WA | 2 ms | 384 KB |
b60 | WA | 2 ms | 384 KB |
b61 | WA | 2 ms | 384 KB |
b62 | WA | 2 ms | 384 KB |
b63 | WA | 2 ms | 384 KB |