Submission #53753

# Submission time Handle Problem Language Result Execution time Memory
53753 2018-07-01T06:42:28 Z 윤교준(#1438) Fish (IOI08_fish) C++11
13 / 100
3000 ms 30772 KB
#include <bits/stdc++.h>
#define pb push_back
#define eb emplace_back
#define sz(V) ((int)(V).size())
#define rb(x) ((x)&(-(x)))
#define upmin(a,b) (a)=min((a),(b))
#define upmax(a,b) (a)=max((a),(b))
#define INF (0x3f3f3f3f)
#define INFLL (0x3f3f3f3f3f3f3f3fll)
using namespace std;
typedef long long ll;
typedef pair<int, int> pii;

const int MAXN = 500005;
const int MAXK = 7005;

int D[MAXK][MAXK];

int C[MAXK], O[MAXK], RO[MAXK];
int A[MAXN], B[MAXN];

ll Ans;
int N, K, MOD;

int main() {
	ios::sync_with_stdio(false);

	cin >> N >> K >> MOD;
	for(int i = 1; i <= N; i++) cin >> B[i] >> A[i];

	for(int i = 1; i <= N; i++)
		upmax(C[A[i]], B[i]);
	

	iota(O, O+K+1, 0);
	sort(O+1, O+K+1, [&](int a, int b) {
		return C[a] > C[b];
	});
	for(int i = 1; i <= K; i++) RO[O[i]] = i;

	fill(C, C+K+1, 0);
	for(int i = 1; i <= N; i++) {
		A[i] = RO[A[i]];
		upmax(C[A[i]], B[i]);
	}

	for(int i = 1; i <= K; i++) {
		for(int j = 1; j <= N; j++)
			if(B[j]*2 <= C[i])
				D[i][A[j]]++;
	}

/*
	for(int i = 1; i <= K; i++) printf("%d : %d\n", i, C[i]);
	for(int i = 1; i <= K; i++) {
		for(int j = 1; j <= K; j++)
			printf("%d ", D[i][j]);
		puts("");
	}
*/

	fill(D[0], D[0]+K+1, -1);
	for(int i = 1; i <= K; i++) {
		if(!C[i]) continue;
		ll ret = D[i][i] + (1 == i);
		for(int j = i+1; j <= K; j++)
			ret = ret * (D[i][j] + 1) % MOD;
		Ans = (Ans + ret) % MOD;
		//printf("T1 %d : %lld\n", i, ret);

		if(D[i][i] == D[i-1][i]) {
			ret = 1;
			for(int j = i+1; j <= K; j++)
				ret = ret * (D[i][j] + 1) % MOD;
			for(int j = 1; j < i; j++)
				if(D[j][i] == D[i][i])
					ret = ret * (D[i][j] + 1) % MOD;
			Ans = (Ans + ret) % MOD;
			//printf("T2 %d : %lld\n", i, ret);
		}
	}

	cout << Ans << endl;

	return 0;
}
# Verdict Execution time Memory Grader output
1 Incorrect 2 ms 376 KB Output isn't correct
# Verdict Execution time Memory Grader output
1 Incorrect 2 ms 484 KB Output isn't correct
# Verdict Execution time Memory Grader output
1 Correct 2 ms 664 KB Output is correct
# Verdict Execution time Memory Grader output
1 Incorrect 2 ms 664 KB Output isn't correct
# Verdict Execution time Memory Grader output
1 Correct 2 ms 664 KB Output is correct
2 Correct 3 ms 664 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 2 ms 664 KB Output is correct
2 Correct 179 ms 4560 KB Output is correct
# Verdict Execution time Memory Grader output
1 Incorrect 3 ms 4560 KB Output isn't correct
# Verdict Execution time Memory Grader output
1 Incorrect 4 ms 4560 KB Output isn't correct
# Verdict Execution time Memory Grader output
1 Incorrect 318 ms 4560 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 130 ms 4560 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Execution timed out 3068 ms 19628 KB Time limit exceeded
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 1524 ms 28296 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Execution timed out 3051 ms 28296 KB Time limit exceeded
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Execution timed out 3058 ms 30772 KB Time limit exceeded
# Verdict Execution time Memory Grader output
1 Runtime error 145 ms 30772 KB Execution killed with signal 11 (could be triggered by violating memory limits)
# Verdict Execution time Memory Grader output
1 Runtime error 302 ms 30772 KB Execution killed with signal 11 (could be triggered by violating memory limits)
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Runtime error 1974 ms 30772 KB Execution killed with signal 11 (could be triggered by violating memory limits)
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Runtime error 1331 ms 30772 KB Execution killed with signal 11 (could be triggered by violating memory limits)
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Runtime error 2990 ms 30772 KB Execution killed with signal 11 (could be triggered by violating memory limits)
2 Halted 0 ms 0 KB -