Submission #3388458


Source Code Expand

#include<bits/stdc++.h>
#define ui unsigned int
#define ll long long
#define db double
#define ld long double
#define ull unsigned long long
#define REP(a,b,c) for(register int a=(b),a##end=(c);a<=a##end;++a)
#define DEP(a,b,c) for(register int a=(b),a##end=(c);a>=a##end;--a)
const int MAXN=100+10,MAXV=8000+10,MAXM=800000+10,inf=0x3f3f3f3f;
int n,e=1,cnt,id[2][MAXV],beg[MAXV<<1],nex[MAXM<<1],to[MAXM<<1],cap[MAXM<<1],s,t,level[MAXV],cur[MAXV],vis[MAXV],clk;
std::queue<int> q;
std::vector<int> V;
template<typename T> inline void read(T &x)
{
	T data=0,w=1;
	char ch=0;
	while(ch!='-'&&(ch<'0'||ch>'9'))ch=getchar();
	if(ch=='-')w=-1,ch=getchar();
	while(ch>='0'&&ch<='9')data=((T)data<<3)+((T)data<<1)+(ch^'0'),ch=getchar();
	x=data*w;
}
template<typename T> inline void write(T x,char ch='\0')
{
	if(x<0)putchar('-'),x=-x;
	if(x>9)write(x/10);
	putchar(x%10+'0');
	if(ch!='\0')putchar(ch);
}
template<typename T> inline void chkmin(T &x,T y){x=(y<x?y:x);}
template<typename T> inline void chkmax(T &x,T y){x=(y>x?y:x);}
template<typename T> inline T min(T x,T y){return x<y?x:y;}
template<typename T> inline T max(T x,T y){return x>y?x:y;}
inline void insert(int x,int y,int z)
{
	to[++e]=y;
	nex[e]=beg[x];
	beg[x]=e;
	cap[e]=z;
	to[++e]=x;
	nex[e]=beg[y];
	beg[y]=e;
	cap[e]=0;
}
inline bool bfs()
{
	memset(level,0,sizeof(level));
	level[s]=1;
	q.push(s);
	while(!q.empty())
	{
		int x=q.front();
		q.pop();
		for(register int i=beg[x];i;i=nex[i])
			if(!level[to[i]]&&cap[i])level[to[i]]=level[x]+1,q.push(to[i]);
	}
	return level[t];
}
inline int dfs(int x,int maxflow)
{
	if(x==t||!maxflow)return maxflow;
	vis[x]=clk;
	int res=0;
	for(register int &i=cur[x];i;i=nex[i])
		if((vis[x]^vis[to[i]])&&cap[i]&&level[to[i]]==level[x]+1)
		{
			int f=dfs(to[i],min(maxflow,cap[i]));
			res+=f;
			maxflow-=f;
			cap[i]-=f;
			cap[i^1]+=f;
			if(!maxflow)break;
		}
	return res;
}
inline int Dinic()
{
	int res=0;
	while(bfs())memcpy(cur,beg,sizeof(cur)),clk++,res+=dfs(s,inf);
	return res;
}
int main()
{
	read(n);
	REP(i,1,n)
	{
		int x,y,z;read(x);read(y);read(z);
		REP(j,1,x-1)
		{
			int l=j*y*z,r=(x-j)*y*z;
			V.push_back(l);
			if(!id[0][l])id[0][l]=++cnt;
			if(!id[1][r])id[1][r]=++cnt;
			insert(id[0][l],id[1][r],1);
		}
		REP(j,1,y-1)
		{
			int l=j*x*z,r=(y-j)*x*z;
			V.push_back(l);
			if(!id[0][l])id[0][l]=++cnt;
			if(!id[1][r])id[1][r]=++cnt;
			insert(id[0][l],id[1][r],1);
		}
		REP(j,1,z-1)
		{
			int l=j*x*y,r=(z-j)*x*y;
			V.push_back(l);
			if(!id[0][l])id[0][l]=++cnt;
			if(!id[1][r])id[1][r]=++cnt;
			insert(id[0][l],id[1][r],1);
		}
	}
	std::sort(V.begin(),V.end());
	V.erase(std::unique(V.begin(),V.end()),V.end());
	s=cnt+1,t=s+1;
	REP(i,1,MAXV-1)
	{
		if(id[0][i])insert(s,id[0][i],1);
		if(id[1][i])insert(id[1][i],t,1);
	}
	write((V.size()<<1)-Dinic(),'\n');
	return 0;
}

Submission Info

Submission Time
Task D - 切り分けできるかな?
User hyj542682306
Language C++14 (GCC 5.4.1)
Score 100
Code Size 2935 Byte
Status AC
Exec Time 3 ms
Memory 4608 KB

Judge Result

Set Name part1 part2
Score / Max Score 20 / 20 80 / 80
Status
AC × 33
AC × 66
Set Name Test Cases
part1 small/small_00_sample_02.txt, small/small_01_rand_00.txt, small/small_01_rand_01.txt, small/small_01_rand_02.txt, small/small_01_rand_03.txt, small/small_01_rand_04.txt, small/small_01_rand_05.txt, small/small_01_rand_06.txt, small/small_01_rand_07.txt, small/small_01_rand_08.txt, small/small_01_rand_09.txt, small/small_02_maxrand_00.txt, small/small_02_maxrand_01.txt, small/small_02_maxrand_02.txt, small/small_02_maxrand_03.txt, small/small_02_maxrand_04.txt, small/small_02_maxrand_05.txt, small/small_02_maxrand_06.txt, small/small_02_maxrand_07.txt, small/small_02_maxrand_08.txt, small/small_02_maxrand_09.txt, small/small_03_maxrandp_00.txt, small/small_03_maxrandp_01.txt, small/small_03_maxrandp_02.txt, small/small_03_maxrandp_03.txt, small/small_03_maxrandp_04.txt, small/small_03_maxrandp_05.txt, small/small_03_maxrandp_06.txt, small/small_03_maxrandp_07.txt, small/small_03_maxrandp_08.txt, small/small_03_maxrandp_09.txt, small/small_99_min2.txt, small/small_99_minmin.txt
part2 small/small_00_sample_02.txt, small/small_01_rand_00.txt, small/small_01_rand_01.txt, small/small_01_rand_02.txt, small/small_01_rand_03.txt, small/small_01_rand_04.txt, small/small_01_rand_05.txt, small/small_01_rand_06.txt, small/small_01_rand_07.txt, small/small_01_rand_08.txt, small/small_01_rand_09.txt, small/small_02_maxrand_00.txt, small/small_02_maxrand_01.txt, small/small_02_maxrand_02.txt, small/small_02_maxrand_03.txt, small/small_02_maxrand_04.txt, small/small_02_maxrand_05.txt, small/small_02_maxrand_06.txt, small/small_02_maxrand_07.txt, small/small_02_maxrand_08.txt, small/small_02_maxrand_09.txt, small/small_03_maxrandp_00.txt, small/small_03_maxrandp_01.txt, small/small_03_maxrandp_02.txt, small/small_03_maxrandp_03.txt, small/small_03_maxrandp_04.txt, small/small_03_maxrandp_05.txt, small/small_03_maxrandp_06.txt, small/small_03_maxrandp_07.txt, small/small_03_maxrandp_08.txt, small/small_03_maxrandp_09.txt, small/small_99_min2.txt, small/small_99_minmin.txt, large/large_00_sample_01.txt, large/large_00_sample_03.txt, large/large_00_sample_04.txt, large/large_01_rand_00.txt, large/large_01_rand_01.txt, large/large_01_rand_02.txt, large/large_01_rand_03.txt, large/large_01_rand_04.txt, large/large_01_rand_05.txt, large/large_01_rand_06.txt, large/large_01_rand_07.txt, large/large_01_rand_08.txt, large/large_01_rand_09.txt, large/large_02_maxrand_00.txt, large/large_02_maxrand_01.txt, large/large_02_maxrand_02.txt, large/large_02_maxrand_03.txt, large/large_02_maxrand_04.txt, large/large_02_maxrand_05.txt, large/large_02_maxrand_06.txt, large/large_02_maxrand_07.txt, large/large_02_maxrand_08.txt, large/large_02_maxrand_09.txt, large/large_03_maxrandp_00.txt, large/large_03_maxrandp_01.txt, large/large_03_maxrandp_02.txt, large/large_03_maxrandp_03.txt, large/large_03_maxrandp_04.txt, large/large_03_maxrandp_05.txt, large/large_03_maxrandp_06.txt, large/large_03_maxrandp_07.txt, large/large_03_maxrandp_08.txt, large/large_03_maxrandp_09.txt
Case Name Status Exec Time Memory
large/large_00_sample_01.txt AC 2 ms 4480 KB
large/large_00_sample_03.txt AC 1 ms 4480 KB
large/large_00_sample_04.txt AC 1 ms 256 KB
large/large_01_rand_00.txt AC 2 ms 4480 KB
large/large_01_rand_01.txt AC 3 ms 4480 KB
large/large_01_rand_02.txt AC 2 ms 4480 KB
large/large_01_rand_03.txt AC 2 ms 4480 KB
large/large_01_rand_04.txt AC 2 ms 4480 KB
large/large_01_rand_05.txt AC 3 ms 4608 KB
large/large_01_rand_06.txt AC 3 ms 4480 KB
large/large_01_rand_07.txt AC 2 ms 4480 KB
large/large_01_rand_08.txt AC 2 ms 4480 KB
large/large_01_rand_09.txt AC 2 ms 4480 KB
large/large_02_maxrand_00.txt AC 3 ms 4608 KB
large/large_02_maxrand_01.txt AC 3 ms 4608 KB
large/large_02_maxrand_02.txt AC 3 ms 4480 KB
large/large_02_maxrand_03.txt AC 3 ms 4480 KB
large/large_02_maxrand_04.txt AC 3 ms 4608 KB
large/large_02_maxrand_05.txt AC 3 ms 4608 KB
large/large_02_maxrand_06.txt AC 3 ms 4480 KB
large/large_02_maxrand_07.txt AC 3 ms 4480 KB
large/large_02_maxrand_08.txt AC 3 ms 4480 KB
large/large_02_maxrand_09.txt AC 3 ms 4480 KB
large/large_03_maxrandp_00.txt AC 2 ms 4480 KB
large/large_03_maxrandp_01.txt AC 3 ms 4480 KB
large/large_03_maxrandp_02.txt AC 3 ms 4480 KB
large/large_03_maxrandp_03.txt AC 2 ms 4480 KB
large/large_03_maxrandp_04.txt AC 2 ms 4480 KB
large/large_03_maxrandp_05.txt AC 2 ms 4480 KB
large/large_03_maxrandp_06.txt AC 2 ms 4480 KB
large/large_03_maxrandp_07.txt AC 2 ms 4480 KB
large/large_03_maxrandp_08.txt AC 2 ms 4480 KB
large/large_03_maxrandp_09.txt AC 2 ms 4480 KB
small/small_00_sample_02.txt AC 2 ms 4480 KB
small/small_01_rand_00.txt AC 2 ms 4480 KB
small/small_01_rand_01.txt AC 1 ms 4480 KB
small/small_01_rand_02.txt AC 1 ms 4480 KB
small/small_01_rand_03.txt AC 1 ms 4480 KB
small/small_01_rand_04.txt AC 1 ms 4480 KB
small/small_01_rand_05.txt AC 2 ms 4480 KB
small/small_01_rand_06.txt AC 1 ms 4480 KB
small/small_01_rand_07.txt AC 1 ms 4480 KB
small/small_01_rand_08.txt AC 1 ms 4480 KB
small/small_01_rand_09.txt AC 1 ms 4480 KB
small/small_02_maxrand_00.txt AC 1 ms 4480 KB
small/small_02_maxrand_01.txt AC 1 ms 4480 KB
small/small_02_maxrand_02.txt AC 1 ms 4480 KB
small/small_02_maxrand_03.txt AC 1 ms 4480 KB
small/small_02_maxrand_04.txt AC 1 ms 4480 KB
small/small_02_maxrand_05.txt AC 2 ms 4480 KB
small/small_02_maxrand_06.txt AC 2 ms 4480 KB
small/small_02_maxrand_07.txt AC 2 ms 4480 KB
small/small_02_maxrand_08.txt AC 2 ms 4480 KB
small/small_02_maxrand_09.txt AC 1 ms 4480 KB
small/small_03_maxrandp_00.txt AC 1 ms 4480 KB
small/small_03_maxrandp_01.txt AC 2 ms 4480 KB
small/small_03_maxrandp_02.txt AC 2 ms 4480 KB
small/small_03_maxrandp_03.txt AC 1 ms 4480 KB
small/small_03_maxrandp_04.txt AC 1 ms 4480 KB
small/small_03_maxrandp_05.txt AC 1 ms 4480 KB
small/small_03_maxrandp_06.txt AC 1 ms 4480 KB
small/small_03_maxrandp_07.txt AC 2 ms 4480 KB
small/small_03_maxrandp_08.txt AC 1 ms 4480 KB
small/small_03_maxrandp_09.txt AC 1 ms 4480 KB
small/small_99_min2.txt AC 1 ms 4480 KB
small/small_99_minmin.txt AC 1 ms 256 KB