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
2019-12-04 19:46:01+0900
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
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