Submission #2671762
Source Code Expand
#include <bits/stdc++.h> using namespace std; typedef long long ll; const int N = 100 + 10; const int M = 1000000007; const double eps = 1e-9; const double PI = acos(-1); const ll oo = 10000000000000000; typedef vector<int> vi; typedef vector<vi> vvi; typedef pair<int, ll> ii; #define pb push_back #define all(c) (c).begin(),(c).end() int n,v[N],level[N],vis[N],vs; vi g[N]; vector<ii> E; bool bfs(){ vis[0]=++vs; queue<int> q; q.push(0); while(!q.empty()){ int u=q.front(); q.pop(); for(int i=0; i<g[u].size(); ++i){ int e=g[u][i]; int d=E[e].first; ll c=E[e].second; if(!c || vis[d]==vs)continue; vis[d]=vs; level[d]=level[u]+1; q.push(d); } } return vis[101]==vs; } int adj[N]; ll dfs(int u, ll fl){ if(u==101) return fl; for(int &i=adj[u]; i<g[u].size(); ++i){ int e=g[u][i]; int d=E[e].first; ll c=E[e].second; if(c && level[d]==level[u]+1){ ll cc=dfs(d, min(fl, (ll)c)); if(cc){ E[e].second-=cc; E[e^1].second+=cc; return cc; } } } return 0; } ll dinic(){ ll flow=0; while(bfs()){ memset(adj, 0, sizeof(adj)); while(ll cc=dfs(0, oo)) flow+=cc; } return flow; } void addEdge(int a, int b, ll c){ g[a].pb(E.size()); E.pb(ii(b,c)); g[b].pb(E.size()); E.pb(ii(a,0)); } int main(){ cin>>n; for(int i=1; i<=n; ++i){ cin>>v[i]; v[i]*=-1; } for(int i=1; i<=n; ++i) for(int j=i+i; j<=n; j+=i) addEdge(i,j,oo); ll allpos=0; for(int i=1; i<=n; ++i) if(v[i]>=0) addEdge(0,i,v[i]); else addEdge(i,101,-v[i]),allpos-=v[i]; cout<<allpos-dinic()<<endl; return 0; }
Submission Info
Submission Time | |
---|---|
Task | E - MUL |
User | Rezira |
Language | C++14 (GCC 5.4.1) |
Score | 700 |
Code Size | 1656 Byte |
Status | AC |
Exec Time | 1 ms |
Memory | 256 KB |
Judge Result
Set Name | Sample | All | ||||
---|---|---|---|---|---|---|
Score / Max Score | 0 / 0 | 700 / 700 | ||||
Status |
|
|
Set Name | Test Cases |
---|---|
Sample | example_0, example_1, example_2, example_3 |
All | example_0, example_1, example_2, example_3, kimeuti_0, kimeuti_1, kimeuti_10, kimeuti_11, kimeuti_12, kimeuti_13, kimeuti_14, kimeuti_15, kimeuti_16, kimeuti_17, kimeuti_18, kimeuti_19, kimeuti_2, kimeuti_3, kimeuti_4, kimeuti_5, kimeuti_6, kimeuti_7, kimeuti_8, kimeuti_9, rand_0, rand_1, rand_10, rand_11, rand_12, rand_13, rand_14, rand_15, rand_16, rand_17, rand_18, rand_19, rand_2, rand_3, rand_4, rand_5, rand_6, rand_7, rand_8, rand_9, small_0, small_1, small_2, small_3, small_4 |
Case Name | Status | Exec Time | Memory |
---|---|---|---|
example_0 | AC | 1 ms | 256 KB |
example_1 | AC | 1 ms | 256 KB |
example_2 | AC | 1 ms | 256 KB |
example_3 | AC | 1 ms | 256 KB |
kimeuti_0 | AC | 1 ms | 256 KB |
kimeuti_1 | AC | 1 ms | 256 KB |
kimeuti_10 | AC | 1 ms | 256 KB |
kimeuti_11 | AC | 1 ms | 256 KB |
kimeuti_12 | AC | 1 ms | 256 KB |
kimeuti_13 | AC | 1 ms | 256 KB |
kimeuti_14 | AC | 1 ms | 256 KB |
kimeuti_15 | AC | 1 ms | 256 KB |
kimeuti_16 | AC | 1 ms | 256 KB |
kimeuti_17 | AC | 1 ms | 256 KB |
kimeuti_18 | AC | 1 ms | 256 KB |
kimeuti_19 | AC | 1 ms | 256 KB |
kimeuti_2 | AC | 1 ms | 256 KB |
kimeuti_3 | AC | 1 ms | 256 KB |
kimeuti_4 | AC | 1 ms | 256 KB |
kimeuti_5 | AC | 1 ms | 256 KB |
kimeuti_6 | AC | 1 ms | 256 KB |
kimeuti_7 | AC | 1 ms | 256 KB |
kimeuti_8 | AC | 1 ms | 256 KB |
kimeuti_9 | AC | 1 ms | 256 KB |
rand_0 | AC | 1 ms | 256 KB |
rand_1 | AC | 1 ms | 256 KB |
rand_10 | AC | 1 ms | 256 KB |
rand_11 | AC | 1 ms | 256 KB |
rand_12 | AC | 1 ms | 256 KB |
rand_13 | AC | 1 ms | 256 KB |
rand_14 | AC | 1 ms | 256 KB |
rand_15 | AC | 1 ms | 256 KB |
rand_16 | AC | 1 ms | 256 KB |
rand_17 | AC | 1 ms | 256 KB |
rand_18 | AC | 1 ms | 256 KB |
rand_19 | AC | 1 ms | 256 KB |
rand_2 | AC | 1 ms | 256 KB |
rand_3 | AC | 1 ms | 256 KB |
rand_4 | AC | 1 ms | 256 KB |
rand_5 | AC | 1 ms | 256 KB |
rand_6 | AC | 1 ms | 256 KB |
rand_7 | AC | 1 ms | 256 KB |
rand_8 | AC | 1 ms | 256 KB |
rand_9 | AC | 1 ms | 256 KB |
small_0 | AC | 1 ms | 256 KB |
small_1 | AC | 1 ms | 256 KB |
small_2 | AC | 1 ms | 256 KB |
small_3 | AC | 1 ms | 256 KB |
small_4 | AC | 1 ms | 256 KB |