Submission #110291
Source Code Expand
#include <iostream> #include <algorithm> #include <vector> #include <cstring> #define FOR(i, a, n) for(int i = (a); i < (n); i++) #define REP(i, n) FOR(i, 0, n) using namespace std; const int MAX_H = 110; const int MAX_W = 110; const int MAX_N = MAX_H + MAX_W; int h, w, n; int u[MAX_H][MAX_W]; int f[MAX_W]; int s[MAX_H]; vector<int> g[MAX_N]; bool used[MAX_N]; int match[MAX_N]; bool check(){ vector< vector<int> > t(h, vector<int>(w)); REP(i, h) REP(j, w) if(u[i][j]){ t[i][j] = min(s[i], f[j]); } REP(i, w){ int tf = 0; REP(j, h){ tf = max(tf, t[j][i]); } if(tf != f[i]) return false; } REP(i, h){ int ts = 0; REP(j, w){ ts = max(ts, t[i][j]); } if(ts != s[i]) return false; } return true; } bool dfs(int v){ used[v] = true; REP(i, (int)g[v].size()){ int u = g[v][i], w = match[u]; if(w == -1 || (!used[w] && dfs(w))){ match[v] = u; match[u] = v; return true; } } return false; } int bipartite_matching(){ int r = 0; memset(match, -1, sizeof(match)); REP(i, n){ if(match[i] == -1){ memset(used, false, sizeof(used)); if(dfs(i)) r++; } } return r; } int solve(){ if(!check()) return -1; REP(i, h) REP(j, w){ if(u[i][j] && s[i] == f[j]){ g[i].push_back(h + j); g[h + j].push_back(i); } } bipartite_matching(); int r = 0, ct = 0; REP(i, h){ r += s[i]; ct++; } REP(i, w) if(match[h + i] == -1){ r += f[i]; ct++; } REP(i, h) REP(j, w){ r += u[i][j]; } return r - ct; } int main(){ cin >> h >> w; n = h + w; REP(i, n) g[i].clear(); REP(i, h) REP(j, w) cin >> u[i][j]; REP(i, w) cin >> f[i]; REP(i, h) cin >> s[i]; cout << solve() << endl; }
Submission Info
Submission Time | |
---|---|
Task | A - Anime Master |
User | torimal |
Language | C++ (GCC 4.4.7) |
Score | 0 |
Code Size | 1864 Byte |
Status | WA |
Exec Time | 257 ms |
Memory | 928 KB |
Judge Result
Set Name | All | ||||
---|---|---|---|---|---|
Score / Max Score | 0 / 100 | ||||
Status |
|
Set Name | Test Cases |
---|---|
All | 1, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 2, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 3, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 4, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 5, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 6, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 7, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 8, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 9 |
Case Name | Status | Exec Time | Memory |
---|---|---|---|
1 | WA | 23 ms | 928 KB |
10 | WA | 21 ms | 812 KB |
11 | WA | 21 ms | 928 KB |
12 | WA | 21 ms | 924 KB |
13 | WA | 21 ms | 924 KB |
14 | WA | 21 ms | 924 KB |
15 | WA | 21 ms | 928 KB |
16 | WA | 23 ms | 792 KB |
17 | WA | 21 ms | 924 KB |
18 | WA | 21 ms | 924 KB |
19 | WA | 20 ms | 920 KB |
2 | WA | 21 ms | 924 KB |
20 | WA | 21 ms | 928 KB |
21 | WA | 21 ms | 928 KB |
22 | WA | 21 ms | 928 KB |
23 | WA | 21 ms | 924 KB |
24 | WA | 23 ms | 788 KB |
25 | WA | 21 ms | 928 KB |
26 | WA | 21 ms | 928 KB |
27 | WA | 23 ms | 788 KB |
28 | WA | 23 ms | 796 KB |
29 | WA | 21 ms | 924 KB |
3 | WA | 22 ms | 812 KB |
30 | WA | 24 ms | 920 KB |
31 | WA | 23 ms | 928 KB |
32 | WA | 22 ms | 924 KB |
33 | WA | 21 ms | 920 KB |
34 | WA | 23 ms | 796 KB |
35 | WA | 21 ms | 812 KB |
36 | WA | 21 ms | 920 KB |
37 | WA | 21 ms | 808 KB |
38 | WA | 21 ms | 800 KB |
39 | WA | 23 ms | 800 KB |
4 | WA | 22 ms | 816 KB |
40 | WA | 21 ms | 924 KB |
41 | WA | 21 ms | 928 KB |
42 | WA | 21 ms | 876 KB |
43 | WA | 24 ms | 812 KB |
44 | WA | 21 ms | 924 KB |
45 | WA | 22 ms | 928 KB |
46 | WA | 22 ms | 856 KB |
47 | WA | 22 ms | 924 KB |
48 | WA | 21 ms | 800 KB |
49 | WA | 21 ms | 920 KB |
5 | WA | 21 ms | 916 KB |
50 | WA | 21 ms | 924 KB |
51 | WA | 21 ms | 924 KB |
52 | WA | 21 ms | 920 KB |
53 | WA | 22 ms | 928 KB |
54 | WA | 21 ms | 916 KB |
55 | WA | 21 ms | 916 KB |
56 | WA | 21 ms | 928 KB |
57 | WA | 21 ms | 852 KB |
58 | RE | 234 ms | 796 KB |
59 | RE | 235 ms | 792 KB |
6 | WA | 22 ms | 924 KB |
60 | RE | 241 ms | 796 KB |
61 | RE | 233 ms | 920 KB |
62 | RE | 236 ms | 700 KB |
63 | RE | 243 ms | 796 KB |
64 | RE | 257 ms | 800 KB |
65 | RE | 232 ms | 796 KB |
66 | RE | 232 ms | 800 KB |
67 | RE | 232 ms | 796 KB |
68 | RE | 240 ms | 796 KB |
69 | RE | 231 ms | 800 KB |
7 | WA | 19 ms | 924 KB |
70 | RE | 242 ms | 792 KB |
71 | RE | 234 ms | 800 KB |
72 | RE | 232 ms | 796 KB |
73 | RE | 234 ms | 796 KB |
74 | RE | 239 ms | 796 KB |
75 | RE | 235 ms | 796 KB |
76 | RE | 233 ms | 796 KB |
77 | RE | 235 ms | 792 KB |
78 | RE | 238 ms | 800 KB |
79 | RE | 230 ms | 796 KB |
8 | WA | 21 ms | 924 KB |
80 | RE | 233 ms | 748 KB |
81 | RE | 238 ms | 796 KB |
82 | RE | 238 ms | 800 KB |
83 | RE | 236 ms | 800 KB |
84 | RE | 233 ms | 796 KB |
85 | RE | 232 ms | 796 KB |
86 | RE | 235 ms | 800 KB |
87 | RE | 253 ms | 920 KB |
88 | RE | 233 ms | 796 KB |
89 | RE | 239 ms | 796 KB |
9 | WA | 19 ms | 924 KB |