Submission #163910

# Submission time Handle Problem Language Result Execution time Memory
163910 2019-11-16T07:57:44 Z MvC Kangaroo (CEOI16_kangaroo) C++11
51 / 100
2000 ms 54736 KB
#pragma GCC target("avx2")
#pragma GCC optimization("O3")
#pragma GCC optimization("unroll-loops")
#include <bits/stdc++.h>
#define rc(x) return cout<<x<<endl,0
#define pb push_back
#define mkp make_pair
#define in insert
#define er erase
#define fd find
#define fr first
#define sc second
typedef long long ll;
typedef long double ld;
const ll INF=0x3f3f3f3f3f3f3f3f;
const ll llinf=(1LL<<62);
const int inf=(1<<30);
const int nmax=2e2+50;
const int mod=1e9+7;
using namespace std;
int n,cs,cf,i,l,r,k,f[nmax][nmax][nmax][2];
void ad(int &x,int y)
{
	x+=y;
	if(x>=mod)x-=mod;
}
int main()
{
	//freopen("sol.in","r",stdin);
	//freopen("sol.out","w",stdout);
	//mt19937 rng(chrono::steady_clock::now().time_since_epoch().count());
	ios_base::sync_with_stdio(false);cin.tie(0);cerr.tie(0);cout.tie(0);
	cin>>n>>cs>>cf;
	f[1][1][1][0]=f[1][1][1][1]=1;
	for(i=2;i<=n;i++)
	{
		for(l=1;l<i;l++)
		{
			for(r=1;r<i;r++)
			{
				for(k=1;k<=i;k++)
				{
					if(k<=r)ad(f[i][l+(k<=l)][k][1],f[i-1][l][r][0]);
					else ad(f[i][l+(k<=l)][k][0],f[i-1][l][r][1]);
				}
			}
		}
	}
	cout<<(f[n][cs][cf][0]+f[n][cs][cf][1])%mod<<endl;
	return 0;
}

Compilation message

kangaroo.cpp:2:0: warning: ignoring #pragma GCC optimization [-Wunknown-pragmas]
 #pragma GCC optimization("O3")
 
kangaroo.cpp:3:0: warning: ignoring #pragma GCC optimization [-Wunknown-pragmas]
 #pragma GCC optimization("unroll-loops")
# Verdict Execution time Memory Grader output
1 Correct 2 ms 376 KB Output is correct
2 Correct 2 ms 376 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 2 ms 376 KB Output is correct
2 Correct 2 ms 376 KB Output is correct
3 Correct 3 ms 1144 KB Output is correct
4 Correct 6 ms 2044 KB Output is correct
5 Correct 6 ms 2040 KB Output is correct
6 Correct 6 ms 2044 KB Output is correct
7 Correct 7 ms 1784 KB Output is correct
8 Correct 6 ms 1916 KB Output is correct
9 Correct 6 ms 2044 KB Output is correct
10 Correct 6 ms 2040 KB Output is correct
11 Correct 11 ms 1912 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 2 ms 376 KB Output is correct
2 Correct 2 ms 376 KB Output is correct
3 Correct 3 ms 1144 KB Output is correct
4 Correct 6 ms 2044 KB Output is correct
5 Correct 6 ms 2040 KB Output is correct
6 Correct 6 ms 2044 KB Output is correct
7 Correct 7 ms 1784 KB Output is correct
8 Correct 6 ms 1916 KB Output is correct
9 Correct 6 ms 2044 KB Output is correct
10 Correct 6 ms 2040 KB Output is correct
11 Correct 11 ms 1912 KB Output is correct
12 Correct 1130 ms 40148 KB Output is correct
13 Correct 855 ms 35500 KB Output is correct
14 Correct 1113 ms 40184 KB Output is correct
15 Correct 1118 ms 40364 KB Output is correct
16 Correct 1098 ms 40000 KB Output is correct
17 Correct 1163 ms 40412 KB Output is correct
18 Correct 711 ms 32220 KB Output is correct
19 Correct 1047 ms 39288 KB Output is correct
20 Correct 1113 ms 40408 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 2 ms 376 KB Output is correct
2 Correct 2 ms 376 KB Output is correct
3 Correct 3 ms 1144 KB Output is correct
4 Correct 6 ms 2044 KB Output is correct
5 Correct 6 ms 2040 KB Output is correct
6 Correct 6 ms 2044 KB Output is correct
7 Correct 7 ms 1784 KB Output is correct
8 Correct 6 ms 1916 KB Output is correct
9 Correct 6 ms 2044 KB Output is correct
10 Correct 6 ms 2040 KB Output is correct
11 Correct 11 ms 1912 KB Output is correct
12 Correct 1130 ms 40148 KB Output is correct
13 Correct 855 ms 35500 KB Output is correct
14 Correct 1113 ms 40184 KB Output is correct
15 Correct 1118 ms 40364 KB Output is correct
16 Correct 1098 ms 40000 KB Output is correct
17 Correct 1163 ms 40412 KB Output is correct
18 Correct 711 ms 32220 KB Output is correct
19 Correct 1047 ms 39288 KB Output is correct
20 Correct 1113 ms 40408 KB Output is correct
21 Execution timed out 2049 ms 54736 KB Time limit exceeded
22 Halted 0 ms 0 KB -