Submission #2671756


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 int oo = 1000000000;
typedef vector<int> vi;
typedef vector<vi> vvi;
typedef pair<int, int> 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, 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];
int dfs(int u, int 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, c=E[e].second;
		if(c && level[d]==level[u]+1){
			int cc=dfs(d, min(fl, c));
			if(cc){
				E[e].second-=cc;
				E[e^1].second+=cc;
				return cc;
			}
		}
	}
	return 0;
}
int dinic(){
	int flow=0;
	while(bfs()){
		memset(adj, 0, sizeof(adj));
		while(int cc=dfs(0, oo))
			flow+=cc;
	}
	return flow;
}
void addEdge(int a, int b, int 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);
	int 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 0
Code Size 1642 Byte
Status WA
Exec Time 1 ms
Memory 256 KB

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 0 / 700
Status
AC × 4
AC × 8
WA × 41
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 WA 1 ms 256 KB
kimeuti_1 WA 1 ms 256 KB
kimeuti_10 WA 1 ms 256 KB
kimeuti_11 WA 1 ms 256 KB
kimeuti_12 WA 1 ms 256 KB
kimeuti_13 WA 1 ms 256 KB
kimeuti_14 WA 1 ms 256 KB
kimeuti_15 WA 1 ms 256 KB
kimeuti_16 WA 1 ms 256 KB
kimeuti_17 WA 1 ms 256 KB
kimeuti_18 WA 1 ms 256 KB
kimeuti_19 WA 1 ms 256 KB
kimeuti_2 WA 1 ms 256 KB
kimeuti_3 WA 1 ms 256 KB
kimeuti_4 WA 1 ms 256 KB
kimeuti_5 WA 1 ms 256 KB
kimeuti_6 WA 1 ms 256 KB
kimeuti_7 WA 1 ms 256 KB
kimeuti_8 WA 1 ms 256 KB
kimeuti_9 WA 1 ms 256 KB
rand_0 WA 1 ms 256 KB
rand_1 WA 1 ms 256 KB
rand_10 WA 1 ms 256 KB
rand_11 WA 1 ms 256 KB
rand_12 WA 1 ms 256 KB
rand_13 WA 1 ms 256 KB
rand_14 WA 1 ms 256 KB
rand_15 WA 1 ms 256 KB
rand_16 WA 1 ms 256 KB
rand_17 WA 1 ms 256 KB
rand_18 WA 1 ms 256 KB
rand_19 WA 1 ms 256 KB
rand_2 WA 1 ms 256 KB
rand_3 WA 1 ms 256 KB
rand_4 WA 1 ms 256 KB
rand_5 WA 1 ms 256 KB
rand_6 WA 1 ms 256 KB
rand_7 WA 1 ms 256 KB
rand_8 WA 1 ms 256 KB
rand_9 WA 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 WA 1 ms 256 KB