Submission #8787280


Source Code Expand

#include <bits/stdc++.h>
#define N 110
#define ll long long
#define For(i,x,y) for(int i=(x);i<=(y);++i)
#define Rof(i,x,y) for(int i=(x);i>=(y);--i)
#define Edge(x) for(int i=head[x],to=e[i].v;i;i=e[i].nxt,to=e[i].v)
#define Cur(x) for(int &i=cur[x],to=e[i].v;i;i=e[i].nxt,to=e[i].v)
#define mset(x,y) memset(x,y,sizeof(x))
using namespace std;
const int S=0,T=102;
int dep[N],n,head[N],cur[N],cnt=1,a[N];
queue<int> q;
struct ed{ int v,nxt;ll f; }e[N*32];
void add(int u,int v,ll f){
	e[++cnt]=(ed){v,head[u],f},head[u]=cnt;
	e[++cnt]=(ed){u,head[v],0},head[v]=cnt;
}
bool bfs(){
	while(!q.empty()) q.pop();
	For(i,0,T) cur[i]=head[i],dep[i]=0;
	dep[S]=1,q.push(S);
	while(!q.empty()){
		int x=q.front();q.pop();
		Edge(x) if(!dep[to] && e[i].f) dep[to]=dep[x]+1,q.push(to);
	}
	return dep[T];
}
ll dfs(int x,ll f){
	if(x==T) return f;
	ll use=0;
	Cur(x){
		if(dep[to]==dep[x]+1 && e[i].f){
			ll o=min(f-use,e[i].f);
			ll w=dfs(to,o);
			use+=w,e[i].f-=w,e[i^1].f+=w;
			if(f==use) return f;
		}
	} return use;
}
int main(){
	ll ans=0,sum=0;
	scanf("%d",&n);
	For(i,1,n) scanf("%d",&a[i]),a[i]=-a[i];
	For(i,1,n) for(int j=2*i;j<=n;j+=i) add(i,j,(ll)1e18);
	For(i,1,n){
		if(a[i]>0) add(S,i,a[i]);
		else add(i,T,-a[i]),sum+=-a[i];
	}
	while(bfs()) ans+=dfs(S,(ll)1e18);
	printf("%lld\n",sum-ans);
}

Submission Info

Submission Time
Task E - MUL
User PsychicBoom_
Language C++14 (GCC 5.4.1)
Score 700
Code Size 1353 Byte
Status AC
Exec Time 2 ms
Memory 384 KB

Compile Error

./Main.cpp: In function ‘int main()’:
./Main.cpp:42:16: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
  scanf("%d",&n);
                ^
./Main.cpp:43:41: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
  For(i,1,n) scanf("%d",&a[i]),a[i]=-a[i];
                                         ^

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 700 / 700
Status
AC × 4
AC × 49
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 2 ms 384 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