QOJ.ac

QOJ

ID题目提交者结果用时内存语言文件大小提交时间测评时间
#738578#7061. Poker Gameicpc_zhzx034AC ✓2ms3872kbC++1410.3kb2024-11-12 19:26:012024-11-12 19:26:02

Judging History

你现在查看的是最新测评结果

  • [2024-11-12 19:26:02]
  • 评测
  • 测评结果:AC
  • 用时:2ms
  • 内存:3872kb
  • [2024-11-12 19:26:01]
  • 提交

answer

#include<bits/stdc++.h>
using namespace std;
#define il inline
#define fi first
#define se second
#define mk make_pair
#define eb emplace_back
#define rep(i,l,r) for(int i=(l); i<=(r); ++i)
#define rep_(i,l,r) for(int i=(l); i>=(r); --i)
typedef long long lr;
typedef double db;
typedef pair<int,int> pii;
typedef vector<int> vi;
constexpr int mod1=998244353,mod2=1e9+7;
constexpr db pi=3.141592653589793,eps=1e-9;
constexpr int inf32=0x3f3f3f3f,Inf32=0xc0c0c0c0;
constexpr lr inf64=0x3f3f3f3f3f3f3f3f,Inf64=0xc0c0c0c0c0c0c0c0;
template<typename T>il T Max(T x,T y) { return (x>y)? x:y; }
template<typename T>il T Min(T x,T y) { return (x<y)? x:y; }
template<typename T>il T gcd(T x,T y) { return (!y)? x:gcd(y,x%y); }
template<typename T>il T Abs(T x) { return (x>0)? x:(-x); }
template<typename T>il T Rnd(T l,T r,mt19937_64 &eng)
{
	uniform_int_distribution<T> uid(l,r);
	return uid(eng);
}
mt19937_64 eng(chrono::high_resolution_clock::now().time_since_epoch().count());
constexpr int N=524300;
int col[53],num[53],coll[5],numm[14];
vi pub;
struct Player
{
	int pot,dq,fold,bet,allin,c[3];
	int tp,key;
	Player() { pot=100,dq=0; }
};
Player p[6];
il bool Montagu(vi v)
{
	rep(i,1,4)
		coll[i]=0;
	rep(i,1,13)
		numm[i]=0;
	for(int i:v)
		++coll[col[i]],++numm[num[i]];
	rep(i,1,13)
		if(numm[i]>=2)
			return 1;
	if(numm[1]&&numm[13]&&numm[12]&&numm[11]&&numm[10])
		return 1;
	rep_(i,13,5)
		if(numm[i]&&numm[i-1]&&numm[i-2]&&numm[i-3]&&numm[i-4])
			return 1;
	rep(i,1,4)
		if(coll[i]>=5)
			return 1;
	return 0;
}
il bool Molony1(vi v)
{
	rep(i,1,4)
		coll[i]=0;
	rep(i,1,13)
		numm[i]=0;
	for(int i:v)
		++coll[col[i]],++numm[num[i]];
	rep(i,1,13)
		if(numm[i]>=2)
			return 1;
	if((numm[1]>0)+(numm[13]>0)+(numm[12]>0)+(numm[11]>0)+(numm[10]>0)>=4)
		return 1;
	rep_(i,13,5)
		if((numm[i]>0)+(numm[i-1]>0)+(numm[i-2]>0)+(numm[i-3]>0)+(numm[i-4]>0)>=4)
			return 1;
	rep(i,1,4)
		if(coll[i]>=4)
			return 1;
	return 0;
}
il bool Molony2(vi v)
{
	rep(i,1,4)
		coll[i]=0;
	for(int i:v)
		++coll[col[i]];
	rep(i,1,4)
		if(coll[i]>=4)
			return 0;
	return 1;
}
il bool Hickok(vi v)
{
	rep(i,1,13)
		numm[i]=0;
	for(int i:v)
		++numm[num[i]];
	rep(i,1,13)
		if(numm[i]>=2&&num[p[3].c[1]]!=i&&num[p[3].c[2]]!=i)
			return 0;
	return 1;
}
il bool Packer1(vi v)
{
	int mx=0;
	for(int i:v)
		mx=(num[i]==1||mx==14)? 14:Max(mx,num[i]);
	if(num[p[4].c[1]]==1||num[p[4].c[1]]>=mx||num[p[4].c[2]]==1||num[p[4].c[2]]>=mx)
		return 1;
	return 0;
}
il bool Packer2(vi v)
{
	rep(i,1,4)
		coll[i]=0;
	rep(i,1,13)
		numm[i]=0;
	for(int i:v)
		++coll[col[i]],++numm[num[i]];
	rep(i,1,13)
		if(numm[i]>=3)
			return 1;
	if(numm[1]&&numm[13]&&numm[12]&&numm[11]&&numm[10])
		return 1;
	rep_(i,13,5)
		if(numm[i]&&numm[i-1]&&numm[i-2]&&numm[i-3]&&numm[i-4])
			return 1;
	rep(i,1,4)
		if(coll[i]>=5)
			return 1;
	if(numm[1]==2)
		return 1;
	rep_(i,13,2)
		if(numm[i]==2)
		{
			int cnt=0;
			for(int j:pub)
				cnt+=(num[j]==1||num[j]>=i);
			if(cnt<=2)
				return 1;
			else
				return 0;
		}
	return 0;
}
il bool Karas()
{
	int cnt=0;
	rep(i,1,4)
		if(!p[i].dq&&!p[i].fold)
			++cnt;
	if(cnt==1)
		return 1;
	else
		return 0;
}
il void Call(int pid,int rid,vi v)
{
	if(p[pid].allin)
		return;
	int Pot=p[pid].pot;
	v.eb(p[pid].c[1]);
	v.eb(p[pid].c[2]);
	if(pid==1)
	{
		if(rid==0)
		{
			if(Pot<15||col[v[0]]!=col[v[1]])
			{
				p[pid].fold=1;
				return;
			}
			if(Pot<15)
				p[pid].allin=1;
			else
				p[pid].bet+=5;
			return;
		}
		if(rid==1)
		{
			p[pid].bet+=5;
			return;			
		}
		if(rid==2)
		{
			if(!Montagu(v))
			{
				p[pid].fold=1;
				return;
			}
			p[pid].bet+=5;
			return;
		}
	}
	if(pid==2)
	{
		if(rid==0)
		{
			if(Pot<15&&(num[v[0]]!=1||num[v[1]]!=1))
			{
				p[pid].fold=1;
				return;
			}
			if(Pot<15)
				p[pid].allin=1;
			else
				p[pid].bet+=5;
			return;
		}
		if(rid==1)
		{
			if(!Molony1(v))
			{
				p[pid].fold=1;
				return;
			}
			p[pid].bet+=5;
			return;
		}
		if(rid==2)
		{
			if(!Molony2(pub))
			{
				p[pid].fold=1;
				return;
			}
			p[pid].bet+=5;
			return;
		}
	}
	if(pid==3)
	{
		if(rid==0)
		{
			if(num[v[0]]!=1&&num[v[1]]!=1&&Abs(num[v[0]]-num[v[1]])>=3)
			{
				p[pid].fold=1;
				return;
			}
			if(Pot<15)
				p[pid].allin=1;
			else
				p[pid].bet+=5;
			return;
		}
		if(rid==1)
		{
			if(!Hickok(pub))
			{
				p[pid].fold=1;
				return;
			}
			p[pid].bet+=5;
			return;
		}
		if(rid==2)
		{
			p[pid].bet+=5;
			return;
		}
	}
	if(pid==4)
	{
		if(rid==0)
		{
			if(num[v[0]]>=2&&num[v[0]]<=11&&num[v[1]]>=2&&num[v[1]]<=11)
			{
				p[pid].fold=1;
				return;
			}
			if(Pot<15)
				p[pid].allin=1;
			else
				p[pid].bet+=5;
			return;
		}
		if(rid==1)
		{
			if(!Packer1(pub))
			{
				p[pid].fold=1;
				return;
			}
			p[pid].bet+=5;
			return;
		}
		if(rid==2)
		{
			if(!Packer2(v))
			{
				p[pid].fold=1;
				return;
			}
			p[pid].bet+=5;
			return;
		}
	}
	if(pid==5)
	{
		if(rid==0)
		{
			if(!Karas())
			{
				p[pid].fold=1;
				return;
			}
			if(Pot<15)
				p[pid].allin=1;
			else
				p[pid].bet+=5;
			return;
		}
		if(rid==1)
		{
			p[pid].bet+=5;
			return;
		}
		if(rid==2)
		{
			p[pid].bet+=5;
			return;
		}
	}
}
int q,pwin,card[16];
il int Only()
{
	int pos=0;
	rep(i,1,5)
		if(!p[i].dq&&!p[i].fold)
		{
			if(pos)
				return 0;
			pos=i;
		}
	return pos;
}
il void Settle()
{
	int tot=0;
	rep(i,1,5)
		if(!p[i].dq)
			p[i].bet=((p[i].allin)? p[i].pot:p[i].bet),tot+=p[i].bet,p[i].pot-=p[i].bet;
	p[pwin].pot+=tot;
	rep(i,1,5)
		if(!p[i].pot)
			p[i].dq=1;
}
namespace Judge
{
	int numcnt[14];
	vi hand,colcnt[5];
	il int Flush()
	{
		int mx=0;
		rep(i,1,4)
			if((int)colcnt[i].size()>=5)
				mx=(colcnt[i][0]==1||mx==14)? 14:Max(mx,colcnt[i].back());
		return mx;
	}
	il int Straight()
	{
		if(numcnt[1]&&numcnt[13]&&numcnt[12]&&numcnt[11]&&numcnt[10])
			return 14;
		rep_(i,13,5)
			if(numcnt[i]&&numcnt[i-1]&&numcnt[i-2]&&numcnt[i-3]&&numcnt[i-4])
				return i;
		return 0;
	}
	il int Three()
	{
		if(numcnt[1]>=3)
			return 14;
		rep_(i,13,2)
			if(numcnt[i]>=3)
				return i;
		return 0;
	}
	il int Two()
	{
		if(numcnt[1]>=2)
			return 14;
		rep_(i,13,2)
			if(numcnt[i]>=2)
				return i;
		return 0;
	}
	il int One()
	{
		if(numcnt[1])
			return 14;
		rep_(i,13,2)
			if(numcnt[i])
				return i;
		return 0;
	}
	il void Update(int id,int a1,int a2,int a3,int a4,int a5)
	{
		rep(j,1,4)
			colcnt[j].clear();
		rep(j,1,13)
			numcnt[j]=0;
		colcnt[col[a1]].eb(num[a1]),++numcnt[num[a1]];
		colcnt[col[a2]].eb(num[a2]),++numcnt[num[a2]];
		colcnt[col[a3]].eb(num[a3]),++numcnt[num[a3]];
		colcnt[col[a4]].eb(num[a4]),++numcnt[num[a4]];
		colcnt[col[a5]].eb(num[a5]),++numcnt[num[a5]];
		rep(j,1,4)
			sort(colcnt[j].begin(),colcnt[j].end());
		int Tp=0,Key=0;
		Key=Flush();
		if(Key)
		{
			Tp=5;
			if(Tp>p[id].tp||(Tp==p[id].tp&&Key>p[id].key))
				p[id].tp=Tp,p[id].key=Key;
			return;
		}
		Key=Straight();
		if(Key)
		{
			Tp=4;
			if(Tp>p[id].tp||(Tp==p[id].tp&&Key>p[id].key))
				p[id].tp=Tp,p[id].key=Key;
			return;
		}
		Key=Three();
		if(Key)
		{
			Tp=3;
			if(Tp>p[id].tp||(Tp==p[id].tp&&Key>p[id].key))
				p[id].tp=Tp,p[id].key=Key;
			return;
		}
		Key=Two();
		if(Key)
		{
			Tp=2;
			if(Tp>p[id].tp||(Tp==p[id].tp&&Key>p[id].key))
				p[id].tp=Tp,p[id].key=Key;
			return;
		}
		Key=One();
		if(Key)
		{
			Tp=1;
			if(Tp>p[id].tp||(Tp==p[id].tp&&Key>p[id].key))
				p[id].tp=Tp,p[id].key=Key;
			return;
		}
	}
	void Main()
	{
		rep(i,1,5)
			if(!p[i].dq&&!p[i].fold)
			{
				p[i].tp=0,p[i].key=0;
				hand=pub;
				hand.eb(p[i].c[1]);
				hand.eb(p[i].c[2]);
				Update(i,hand[0],hand[1],hand[2],hand[3],hand[4]);
				Update(i,hand[0],hand[1],hand[2],hand[3],hand[5]);
				Update(i,hand[0],hand[1],hand[2],hand[3],hand[6]);
				Update(i,hand[0],hand[1],hand[2],hand[4],hand[5]);
				Update(i,hand[0],hand[1],hand[2],hand[4],hand[6]);
				Update(i,hand[0],hand[1],hand[2],hand[5],hand[6]);
				Update(i,hand[0],hand[1],hand[3],hand[4],hand[5]);
				Update(i,hand[0],hand[1],hand[3],hand[4],hand[6]);
				Update(i,hand[0],hand[1],hand[3],hand[5],hand[6]);
				Update(i,hand[0],hand[1],hand[4],hand[5],hand[6]);
				Update(i,hand[0],hand[2],hand[3],hand[4],hand[5]);
				Update(i,hand[0],hand[2],hand[3],hand[4],hand[6]);
				Update(i,hand[0],hand[2],hand[3],hand[5],hand[6]);
				Update(i,hand[0],hand[2],hand[4],hand[5],hand[6]);
				Update(i,hand[0],hand[3],hand[4],hand[5],hand[6]);
				Update(i,hand[1],hand[2],hand[3],hand[4],hand[5]);
				Update(i,hand[1],hand[2],hand[3],hand[4],hand[6]);
				Update(i,hand[1],hand[2],hand[3],hand[5],hand[6]);
				Update(i,hand[1],hand[2],hand[4],hand[5],hand[6]);
				Update(i,hand[1],hand[3],hand[4],hand[5],hand[6]);
				Update(i,hand[2],hand[3],hand[4],hand[5],hand[6]);
			}
		rep(i,1,5)
			if(!p[i].dq&&!p[i].fold)
				if(!pwin||(p[i].tp>p[pwin].tp)||(p[i].tp==p[pwin].tp&&p[i].key>=p[pwin].key))
					pwin=i;
	}
}
il void Solve()
{
	rep(i,1,52)
		col[i]=(i+12)/13,num[i]=(i+12)%13+1;
	cin>>q;
	while(q--)
	{
		rep(i,1,15)
			cin>>card[i];
		int ccnt=0;
		rep(i,1,5)
		{
			p[i].fold=0,p[i].bet=0,p[i].allin=0;
			if(!p[i].dq)
				p[i].c[1]=card[++ccnt],p[i].c[2]=card[++ccnt];
		}
		pub.clear(),pwin=0;
		bool flag=0;
		rep(i,1,5)
		{
			pwin=Only();
			if(pwin)
			{
				flag=1,Settle();
				break;
			}
			if(!p[i].dq&&!p[i].fold)
				Call(i,0,pub);
		}
		if(flag)
			continue;
		rep(i,1,3)
			pub.eb(card[++ccnt]);
		rep(i,1,5)
		{
			pwin=Only();
			if(pwin)
			{
				flag=1,Settle();
				break;
			}
			if(!p[i].dq&&!p[i].fold)
				Call(i,1,pub);
		}
		if(flag)
			continue;
		rep(i,1,2)
			pub.eb(card[++ccnt]);
		rep(i,1,5)
		{
			pwin=Only();
			if(pwin)
			{
				flag=1,Settle();
				break;
			}
			if(!p[i].dq&&!p[i].fold)
				Call(i,2,pub);
		}
		if(flag)
			continue;
		pwin=Only();
		if(!pwin)
			Judge::Main();
		Settle();
	}
	rep(i,1,5)
		cout<<p[i].pot<<'\n';
}
int main()
{
#ifdef LOCAL
	string fpre="test",isuf="in",osuf="out";
	assert(freopen((fpre+"."+isuf).c_str(),"r",stdin));
	assert(freopen((fpre+"."+osuf).c_str(),"w",stdout));
#endif
	ios::sync_with_stdio(0),cin.tie(0),cout.tie(0);
	int T=1;
	while(T--)
		Solve();
	return 0;
}

这程序好像有点Bug,我给组数据试试?

详细

Test #1:

score: 100
Accepted
time: 0ms
memory: 3628kb

input:

2
1 2 8 10 3 11 15 12 14 27 42 43 45 48 13
14 2 8 10 3 11 5 23 1 27 42 43 13 45 48

output:

90
90
100
115
105

result:

ok 5 lines

Test #2:

score: 0
Accepted
time: 0ms
memory: 3560kb

input:

5
9 5 19 35 30 42 18 8 21 51 16 26 32 29 49
17 50 13 7 37 21 25 31 28 18 30 27 24 16 15
31 38 52 46 1 29 41 12 39 24 10 45 13 22 42
8 10 33 18 39 49 29 43 51 2 35 19 27 41 12
48 13 33 39 30 47 32 24 12 9 42 1 18 41 51

output:

65
115
115
100
105

result:

ok 5 lines

Test #3:

score: 0
Accepted
time: 0ms
memory: 3856kb

input:

5
51 31 17 50 24 15 25 20 22 16 44 6 19 39 28
34 1 21 10 31 15 35 8 27 51 32 23 48 24 29
39 18 27 14 31 2 35 51 44 21 24 6 43 16 19
9 44 4 19 35 47 15 51 25 20 40 8 21 6 7
49 35 11 12 44 29 22 9 16 13 4 17 32 25 7

output:

100
125
115
75
85

result:

ok 5 lines

Test #4:

score: 0
Accepted
time: 0ms
memory: 3572kb

input:

5
16 41 30 6 5 39 22 1 29 42 32 49 40 27 21
39 14 32 48 6 37 23 35 13 52 43 2 24 38 45
49 42 38 18 47 52 30 15 16 1 26 31 28 6 40
47 31 22 45 49 46 36 17 35 48 38 33 13 16 20
41 17 9 34 25 21 8 18 22 24 4 20 26 15 42

output:

90
80
100
115
115

result:

ok 5 lines

Test #5:

score: 0
Accepted
time: 0ms
memory: 3632kb

input:

5
26 38 46 4 52 15 51 7 1 30 5 3 33 47 34
22 7 15 9 5 29 32 23 30 25 33 2 1 50 4
22 44 31 33 32 39 26 5 21 15 48 2 52 37 13
21 50 12 7 43 26 32 28 42 30 20 9 35 47 8
38 12 4 33 10 25 50 37 46 36 6 40 29 48 5

output:

100
65
100
120
115

result:

ok 5 lines

Test #6:

score: 0
Accepted
time: 0ms
memory: 3632kb

input:

5
32 51 43 23 30 17 36 37 48 22 46 41 20 1 42
49 29 40 4 19 46 13 39 8 12 47 38 16 32 34
37 34 45 36 10 26 33 21 46 35 39 13 41 27 19
51 15 42 35 27 52 18 1 44 37 26 39 33 32 8
31 50 52 24 37 17 26 2 20 13 1 38 9 49 51

output:

85
105
110
100
100

result:

ok 5 lines

Test #7:

score: 0
Accepted
time: 1ms
memory: 3628kb

input:

50
13 27 25 40 35 8 4 48 24 21 23 41 28 34 46
17 24 35 47 44 39 23 51 41 26 9 8 11 25 6
46 2 15 10 45 1 32 29 4 47 14 35 49 16 22
30 43 11 47 42 28 17 39 18 15 24 5 22 12 7
7 32 43 36 17 3 1 12 34 27 35 16 29 22 45
42 38 8 45 37 22 50 33 31 49 28 20 17 40 15
17 10 30 39 18 48 32 4 26 13 27 22 3 2 8
...

output:

25
0
110
205
160

result:

ok 5 lines

Test #8:

score: 0
Accepted
time: 1ms
memory: 3664kb

input:

50
23 24 41 38 31 36 34 2 39 37 47 43 35 3 32
9 4 29 18 35 23 40 43 41 52 45 48 25 37 28
3 37 25 2 16 44 1 31 23 42 22 40 48 30 6
39 38 46 20 9 18 37 42 29 17 21 23 7 50 12
43 12 19 21 31 22 38 5 2 36 45 17 18 51 13
29 52 39 31 16 21 9 15 4 48 43 41 24 20 30
28 50 51 17 10 41 40 48 13 45 24 18 11 43...

output:

30
10
170
135
155

result:

ok 5 lines

Test #9:

score: 0
Accepted
time: 1ms
memory: 3664kb

input:

50
29 37 4 16 38 19 24 34 21 11 26 48 3 39 35
26 10 13 49 9 12 14 1 2 28 11 43 47 18 19
30 43 40 29 12 22 46 6 36 35 20 2 32 23 45
51 27 39 10 2 24 52 14 7 4 38 36 25 47 21
36 19 2 3 45 47 44 5 51 30 49 35 46 6 11
32 37 30 12 34 13 45 35 42 41 8 52 16 27 2
38 30 12 13 28 19 31 26 36 5 51 34 35 41 25...

output:

10
130
25
215
120

result:

ok 5 lines

Test #10:

score: 0
Accepted
time: 1ms
memory: 3824kb

input:

50
52 16 47 32 18 9 10 29 48 22 28 36 14 6 20
49 11 33 23 40 10 31 20 46 5 38 48 13 44 50
25 15 35 47 33 41 32 9 7 24 10 11 17 21 23
8 50 24 43 28 47 13 44 29 2 17 30 5 7 18
30 8 10 5 20 33 14 25 24 37 17 9 23 41 35
26 35 51 43 8 3 50 32 33 37 52 23 19 1 42
41 33 6 19 47 17 36 49 18 27 32 48 29 50 1...

output:

20
10
180
120
170

result:

ok 5 lines

Test #11:

score: 0
Accepted
time: 1ms
memory: 3792kb

input:

50
13 49 39 9 33 12 32 20 37 8 48 42 3 26 17
34 30 13 39 17 23 51 24 41 31 47 28 52 25 50
29 26 40 31 14 47 51 35 36 13 42 52 5 17 46
12 3 51 43 47 41 35 42 15 39 49 25 6 50 1
38 45 52 4 40 44 17 36 2 5 25 18 32 23 1
25 22 18 37 35 49 32 8 10 30 11 46 15 29 47
31 41 18 4 8 24 1 47 9 40 27 37 26 34 2...

output:

165
160
90
85
0

result:

ok 5 lines

Test #12:

score: 0
Accepted
time: 1ms
memory: 3572kb

input:

100
40 49 2 41 4 1 10 13 37 8 36 42 19 14 38
5 28 40 23 25 29 12 46 27 38 49 19 6 33 7
16 50 8 46 40 5 51 21 25 1 19 45 6 30 31
9 40 37 4 41 47 26 16 3 32 35 44 7 27 52
16 38 20 36 19 31 5 51 25 18 43 6 22 3 33
47 10 16 26 30 14 24 22 51 32 34 52 17 23 8
27 16 48 22 17 6 25 46 50 38 47 15 28 20 4
25...

output:

95
10
135
75
185

result:

ok 5 lines

Test #13:

score: 0
Accepted
time: 1ms
memory: 3792kb

input:

100
7 44 43 37 47 49 8 25 22 5 40 35 18 33 41
28 16 14 30 24 27 11 41 6 23 33 12 39 50 13
26 30 10 4 32 45 15 52 46 51 39 40 7 47 17
12 43 38 26 9 44 51 11 16 23 32 21 27 15 37
50 4 22 1 37 25 24 49 26 28 9 39 7 14 17
43 10 39 45 36 9 37 28 46 6 3 25 8 51 34
12 38 35 17 42 30 37 44 48 33 47 28 5 36 ...

output:

130
10
160
150
50

result:

ok 5 lines

Test #14:

score: 0
Accepted
time: 1ms
memory: 3636kb

input:

100
20 18 36 15 1 52 30 16 13 48 37 8 11 38 42
26 31 35 14 50 21 46 27 38 32 52 41 12 25 28
36 26 23 18 38 43 21 15 3 52 29 12 41 24 8
7 20 24 10 21 47 30 41 29 3 45 16 4 8 18
43 11 40 22 45 51 39 52 15 26 12 34 14 28 25
31 36 27 4 6 9 19 49 26 12 2 21 7 42 32
12 15 52 1 49 21 6 13 19 37 7 50 33 3 2...

output:

10
145
20
165
160

result:

ok 5 lines

Test #15:

score: 0
Accepted
time: 1ms
memory: 3632kb

input:

100
37 36 49 23 34 22 51 31 48 26 21 25 6 44 33
2 32 3 35 11 18 40 46 47 26 45 7 44 13 8
28 45 26 34 50 6 2 11 40 3 13 10 32 47 44
6 51 39 20 38 43 37 34 49 40 52 28 27 36 5
39 23 46 37 50 45 43 24 20 5 36 41 8 32 30
26 2 39 40 1 24 21 31 11 49 12 23 9 3 20
38 46 17 47 13 25 30 36 48 14 40 32 43 8 4...

output:

140
10
155
30
165

result:

ok 5 lines

Test #16:

score: 0
Accepted
time: 1ms
memory: 3572kb

input:

100
1 46 18 40 7 44 51 27 41 48 14 33 32 11 2
27 30 5 15 28 1 42 17 33 3 26 22 51 23 11
47 43 38 52 17 48 33 2 1 28 46 24 27 36 41
3 43 17 40 32 50 38 23 5 33 35 10 7 41 8
33 44 26 35 8 10 31 47 3 32 36 1 51 17 49
21 15 29 12 4 2 43 51 31 36 45 49 33 9 32
33 21 7 6 47 27 26 37 30 8 22 12 41 44 50
15...

output:

10
10
100
220
160

result:

ok 5 lines

Test #17:

score: 0
Accepted
time: 1ms
memory: 3628kb

input:

48
41 31 16 6 15 24 1 50 10 19 13 44 4 20 18
45 39 24 51 43 1 44 35 17 29 49 19 13 23 52
41 4 21 29 38 16 45 15 27 37 44 24 25 9 31
38 32 27 51 19 21 11 6 30 10 49 14 13 24 35
44 20 38 9 40 3 11 47 25 23 19 52 12 15 41
41 34 25 30 52 44 29 47 35 38 22 3 9 28 46
18 1 10 25 19 37 41 46 31 44 47 30 52 ...

output:

5
10
125
205
155

result:

ok 5 lines

Test #18:

score: 0
Accepted
time: 1ms
memory: 3632kb

input:

90
7 29 39 34 14 41 44 21 50 11 36 26 35 10 13
45 34 1 3 28 41 50 39 48 36 16 19 46 10 25
14 17 41 9 27 28 20 43 6 42 15 21 1 5 7
50 34 40 13 15 7 26 16 2 5 21 11 24 30 3
8 46 15 20 34 38 32 9 1 39 44 4 51 12 7
36 24 49 48 23 17 33 38 41 19 26 9 7 5 22
48 30 16 47 43 33 5 2 49 45 9 19 50 29 15
18 8 ...

output:

200
5
0
155
140

result:

ok 5 lines

Test #19:

score: 0
Accepted
time: 0ms
memory: 3560kb

input:

26
19 31 43 8 27 37 47 35 44 9 22 51 41 11 5
51 10 15 34 22 8 38 27 16 3 19 35 49 17 26
34 52 49 42 36 10 35 31 29 17 23 22 27 28 40
10 5 52 43 13 20 37 35 49 19 42 4 41 23 11
43 42 39 29 15 33 52 12 6 46 8 11 2 51 36
45 1 22 17 40 29 41 37 20 15 43 49 31 32 47
50 5 48 40 42 11 23 37 2 44 14 4 29 19...

output:

185
10
70
90
145

result:

ok 5 lines

Test #20:

score: 0
Accepted
time: 0ms
memory: 3632kb

input:

10
1 10 27 51 39 12 29 9 47 15 30 25 32 42 41
5 14 46 44 29 45 24 51 1 39 7 8 16 31 35
51 24 37 50 36 7 41 35 2 48 45 31 3 6 21
39 26 6 51 24 50 35 42 7 28 23 36 15 31 16
29 20 39 12 17 52 38 37 28 14 10 2 18 25 22
28 38 6 17 44 13 14 10 41 49 2 29 51 21 15
17 31 1 51 39 36 20 5 21 42 26 2 19 16 50
...

output:

145
105
105
85
60

result:

ok 5 lines

Test #21:

score: 0
Accepted
time: 1ms
memory: 3860kb

input:

46
14 12 31 23 5 25 6 33 48 32 37 46 27 26 11
21 4 47 52 22 40 18 25 39 24 1 15 26 34 13
26 36 41 10 4 13 6 11 3 21 7 31 17 49 24
24 44 25 8 29 37 4 42 19 36 15 47 14 46 52
7 40 31 29 51 19 17 2 38 16 5 8 33 32 34
14 48 25 31 6 29 13 35 43 38 26 21 50 10 36
20 33 6 2 51 8 44 34 5 40 38 50 36 35 17
4...

output:

85
60
85
170
100

result:

ok 5 lines

Test #22:

score: 0
Accepted
time: 0ms
memory: 3620kb

input:

4
2 3 14 17 11 13 18 21 28 30 1 4 5 10 12
1 4 14 17 6 8 18 21 28 30 2 3 5 7 9
1 3 14 17 6 7 18 21 28 30 2 4 5 8 13
1 2 14 17 6 7 18 21 28 30 3 4 5 51 52

output:

165
55
80
100
100

result:

ok 5 lines

Test #23:

score: 0
Accepted
time: 0ms
memory: 3820kb

input:

1
15 49 28 30 1 14 51 9 18 21 10 11 12 13 52

output:

100
95
120
85
100

result:

ok 5 lines

Test #24:

score: 0
Accepted
time: 0ms
memory: 3668kb

input:

3
5 18 14 15 6 13 2 3 22 23 37 38 39 8 40
5 18 13 14 6 12 2 3 22 52 36 37 38 21 42
14 15 3 6 1 22 41 42 50 51 23 24 25 26 52

output:

120
95
85
100
100

result:

ok 5 lines

Test #25:

score: 0
Accepted
time: 0ms
memory: 3628kb

input:

1
44 40 16 30 5 39 18 15 31 2 6 7 8 51 52

output:

90
110
100
100
100

result:

ok 5 lines

Test #26:

score: 0
Accepted
time: 0ms
memory: 3568kb

input:

1
44 40 3 4 5 39 18 15 31 2 6 7 8 51 52

output:

90
110
100
100
100

result:

ok 5 lines

Test #27:

score: 0
Accepted
time: 0ms
memory: 3568kb

input:

3
44 40 3 4 5 39 18 15 31 2 6 7 8 51 52
44 40 16 30 5 39 18 15 31 2 6 7 8 51 52
44 40 16 30 5 39 18 15 31 2 6 7 8 51 52

output:

70
130
100
100
100

result:

ok 5 lines

Test #28:

score: 0
Accepted
time: 0ms
memory: 3572kb

input:

5
9 35 26 25 6 39 43 28 19 33 47 29 4 30 16
32 6 1 9 38 37 33 29 35 12 31 30 28 27 7
25 22 6 17 2 32 18 38 14 23 16 37 29 12 34
31 39 27 12 3 1 10 9 28 6 2 5 30 4 33
17 52 41 43 20 19 26 9 7 49 3 45 50 2 44

output:

70
80
125
120
105

result:

ok 5 lines

Test #29:

score: 0
Accepted
time: 0ms
memory: 3664kb

input:

10
49 30 43 41 10 20 36 7 11 46 38 34 21 17 31
24 42 5 33 11 36 13 52 31 40 39 4 21 22 1
47 23 46 8 16 25 4 26 14 52 45 22 7 21 17
1 31 22 21 12 6 23 37 14 10 24 18 30 39 36
5 23 14 24 10 39 25 13 31 8 7 17 20 26 22
2 28 11 31 32 8 12 9 52 4 33 13 51 39 1
17 31 27 26 21 19 29 25 15 39 16 33 38 35 24...

output:

100
30
80
140
150

result:

ok 5 lines

Test #30:

score: 0
Accepted
time: 1ms
memory: 3664kb

input:

20
5 4 34 12 32 33 36 2 31 6 28 9 10 13 38
32 23 30 24 25 38 20 28 39 17 35 14 22 37 26
21 7 32 27 34 35 24 29 10 37 17 31 18 13 38
43 46 14 37 41 33 15 29 38 19 35 48 26 40 30
35 50 5 8 1 39 17 2 22 15 9 26 19 33 31
15 46 16 25 6 2 50 20 45 1 8 26 12 14 24
18 33 37 14 29 23 35 25 36 26 16 17 32 30 ...

output:

140
45
95
130
90

result:

ok 5 lines

Test #31:

score: 0
Accepted
time: 1ms
memory: 3784kb

input:

30
1 14 18 3 5 4 10 8 9 13 6 23 17 20 21
43 29 46 28 25 47 31 24 33 18 27 44 35 41 49
15 6 10 19 4 7 8 5 18 24 20 17 9 14 3
44 18 4 25 15 46 1 50 5 16 43 22 19 41 45
21 23 1 11 9 16 7 10 24 15 20 26 22 5 17
50 49 42 46 47 40 10 9 1 6 41 52 43 51 8
47 9 11 32 1 27 4 51 19 31 29 7 39 18 3
7 25 41 12 5...

output:

75
10
175
60
180

result:

ok 5 lines

Test #32:

score: 0
Accepted
time: 1ms
memory: 3628kb

input:

40
51 46 29 45 41 2 47 6 35 4 42 5 36 11 27
29 2 35 22 41 44 8 34 48 24 21 25 19 26 33
32 17 20 48 45 35 24 34 14 44 43 37 40 18 30
3 26 52 10 2 15 31 4 45 32 46 27 25 20 48
36 31 6 9 10 29 32 3 34 4 11 30 8 28 12
26 38 23 11 31 39 2 34 49 44 12 29 21 7 47
44 45 20 42 52 47 16 15 21 23 19 24 26 14 2...

output:

40
10
160
140
150

result:

ok 5 lines

Test #33:

score: 0
Accepted
time: 1ms
memory: 3824kb

input:

50
16 3 12 4 32 33 43 29 1 46 27 45 10 25 5
45 48 29 35 51 37 52 34 38 46 41 30 50 47 28
45 19 16 20 3 32 9 31 14 10 52 11 21 6 17
9 17 33 7 36 3 11 41 24 27 34 50 19 2 25
14 43 31 46 42 3 7 23 40 37 33 19 52 22 17
8 1 27 21 36 33 17 39 34 32 2 9 13 11 15
28 48 36 35 16 22 24 47 51 14 27 39 34 42 37...

output:

80
10
95
180
135

result:

ok 5 lines

Test #34:

score: 0
Accepted
time: 1ms
memory: 3572kb

input:

70
7 8 27 5 40 52 49 20 25 19 47 34 26 35 22
6 12 7 2 13 4 37 34 8 23 22 24 31 35 20
1 52 32 38 4 26 20 33 41 29 30 13 8 16 43
20 45 1 21 12 10 39 31 24 46 30 28 4 13 5
37 48 44 45 35 46 19 14 3 40 15 13 18 51 27
24 21 17 49 44 42 50 45 8 2 7 16 25 41 40
29 41 42 45 33 48 27 34 36 47 38 39 51 28 30
...

output:

45
10
235
25
185

result:

ok 5 lines

Test #35:

score: 0
Accepted
time: 1ms
memory: 3704kb

input:

100
3 24 21 15 5 1 9 7 10 18 19 16 22 13 4
36 31 30 13 9 12 28 33 32 8 38 5 10 23 26
3 24 10 4 48 21 29 36 11 19 14 22 5 20 26
46 18 43 6 5 16 21 13 22 15 26 12 24 40 17
14 7 16 46 9 4 20 52 44 43 8 2 26 10 18
17 30 21 39 23 25 20 35 29 14 33 28 26 27 24
45 35 37 40 47 43 15 36 38 28 49 21 39 18 17
...

output:

85
10
125
140
140

result:

ok 5 lines

Test #36:

score: 0
Accepted
time: 0ms
memory: 3576kb

input:

300
38 46 44 18 20 40 51 17 15 52 6 22 12 8 26
7 10 17 35 21 6 33 8 12 2 13 38 11 34 15
12 3 34 10 5 6 25 14 11 28 4 26 16 20 37
15 24 33 46 22 48 8 2 20 49 41 1 12 17 21
8 38 5 45 37 42 6 7 2 48 41 12 32 52 29
44 33 32 40 43 50 12 1 11 48 13 16 21 10 39
17 11 4 18 16 25 3 2 1 24 9 15 13 7 12
25 19 ...

output:

10
10
0
0
480

result:

ok 5 lines

Test #37:

score: 0
Accepted
time: 2ms
memory: 3576kb

input:

500
11 29 38 5 30 34 32 8 1 35 9 7 33 39 13
16 38 3 43 31 25 44 24 23 2 4 35 10 34 26
34 47 50 48 33 28 42 31 29 41 30 43 27 36 44
31 5 27 8 10 29 9 2 6 7 13 38 4 37 1
17 22 44 20 16 4 25 51 5 14 24 47 45 21 52
9 6 33 5 10 25 22 4 7 29 47 39 49 34 42
11 42 7 52 4 1 49 2 43 10 51 46 40 13 5
25 19 6 5...

output:

80
10
0
0
410

result:

ok 5 lines

Test #38:

score: 0
Accepted
time: 1ms
memory: 3872kb

input:

1000
28 44 51 37 47 50 38 12 49 43 9 7 45 8 2
16 25 15 39 19 7 31 22 30 18 12 9 1 32 13
24 28 16 12 43 38 42 20 34 48 37 52 39 40 32
36 29 48 35 44 5 41 8 52 3 33 6 37 4 12
10 5 40 6 9 51 44 45 49 8 2 13 12 4 1
16 36 28 37 26 18 34 52 39 51 33 5 27 21 40
19 22 3 46 23 18 29 30 28 5 24 13 27 37 44
12...

output:

0
0
0
0
500

result:

ok 5 lines