結果
問題 | No.1324 Approximate the Matrix |
ユーザー |
![]() |
提出日時 | 2020-12-21 15:20:03 |
言語 | cLay (20241019-1) |
結果 |
AC
|
実行時間 | 354 ms / 2,000 ms |
コード長 | 626 bytes |
コンパイル時間 | 3,386 ms |
コンパイル使用メモリ | 183,884 KB |
実行使用メモリ | 15,944 KB |
最終ジャッジ日時 | 2024-07-05 14:52:59 |
合計ジャッジ時間 | 8,584 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 42 |
ソースコード
int n,k,a[200],b[200]; int p[200][200],q[200][200]; int nn_s,nn_t,nn_a[200],nn_b[200],nn_p[200][200]; minCostFlow<int,int> f; { rd(n,k,a(n),b(n),p(n,n)); f.malloc(n*n+n+n+2); f.init(n*n+n+n+2); int nn=0; nn_s=nn++; nn_t=nn++; rep(i,n) nn_a[i]=nn++; rep(j,n) nn_b[j]=nn++; rep(i,n) rep(j,n) nn_p[i][j]=nn++; rep(i,n) f.addEdge(nn_s,nn_a[i],a[i],0); rep(i,n) rep(j,n) rep(m,a[i]) f.addEdge(nn_a[i],nn_p[i][j],1,(m-p[i][j])*2+1); rep(i,n) rep(j,n) f.addEdge(nn_p[i][j],nn_b[j],200,0); rep(j,n) f.addEdge(nn_b[j],nn_t,b[j],0); int fres,z; f.solve(nn_s,nn_t,fres,z); rep(i,n) rep(j,n) z+=p[i][j]**2; wt(z); }