답안 #20421

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
20421 2017-02-11T11:05:19 Z tlwpdus(#44, tlwpdus) 복불복 (OJUZ11_luck) C++
13 / 100
449 ms 3164 KB
// k==1

#include<stdio.h>
#include<algorithm>
#include<vector>
#include<math.h>
#include<queue>
 
using namespace std;
 
typedef long long ll;

const ll MOD = 1000000007;
ll res = 0;
int n, k;
int a[110];
int b[110];
ll po[200][200];

ll dap[110];
ll inv[110];
ll tmp[110];
void calc(const vector<ll> &vec) {
	int i, j;
	for (i=1;i<=vec.size();i++) {
		for (j=0;j<vec.size();j++) {
			tmp[i] += po[vec[j]][i];
			tmp[i] %= MOD;
		}
	}
	dap[0] = 1;
	for (i=1;i<=vec.size();i++) {
		dap[i] = 0;
		for (j=1;j<=i;j++) {
			ll st = ((j-1)%2)?(-1):1;
			dap[i] += (st*dap[i-j]*tmp[j])%MOD;
			dap[i] %= MOD;
		}
		dap[i] *= inv[i];
		dap[i] = ((dap[i]%MOD)+MOD)%MOD;
	}
}

ll popo(ll a, ll n) {
	if (n==0) return 1;
	ll val = popo(a,n/2);
	if (n%2) return (((val*val)%MOD)*a)%MOD;
	return (val*val)%MOD;
}

void pre() {
	int i;
	for (i=1;i<110;i++) inv[i] = popo(i,MOD-2);
}

ll dyn[2010][110];

int pp[20];
int arr[20];
int main() {
	int i, j, l;
	scanf("%d%d",&n,&k);
	for (i=0;i<n;i++) scanf("%d",&a[i]);
	for (i=0;i<n;i++) scanf("%d",&b[i]);
	sort(a,a+n); sort(b,b+n);
	if (k==1) {
		for (i=0;i<n;i++) {
			int v = a[n-1]+b[i];
			ll tres = 1;
			for (j=n-2;j>=0;j--) {
				int cnt = 0;
				for (l=0;l<n;l++) {
					if (l==i) continue;
					if (a[j]+b[l]>v) break;
					cnt++;
				}
				if (cnt<=n-2-j) {
					tres = 0;
					break;
				}
				tres *= cnt-(n-2-j);
				tres %= MOD;
			}
			res += tres;
			res %= MOD;
		}
		printf("%lld\n",res);
	}
	else if (n<=10) {
		for (i=0;i<n;i++) pp[i] = i;
		do {
			bool flag = true;
			for (i=0;i<n;i++) arr[i] = a[i]+b[pp[i]];
			for (i=n-k;i<n;i++) {
				int cnt = 1;
				for (j=0;j<n;j++) {
					if (arr[i]<arr[j])cnt++;
				}
				if (cnt>k) flag = false;
			}
			if (flag) res++;
		}while(next_permutation(pp,pp+n));
		printf("%lld\n",res%MOD);
	}

	return 0;
}

Compilation message

luck.cpp: In function 'void calc(const std::vector<long long int>&)':
luck.cpp:25:12: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
  for (i=1;i<=vec.size();i++) {
            ^
luck.cpp:26:13: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
   for (j=0;j<vec.size();j++) {
             ^
luck.cpp:32:12: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
  for (i=1;i<=vec.size();i++) {
            ^
luck.cpp: In function 'int main()':
luck.cpp:62:21: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
  scanf("%d%d",&n,&k);
                     ^
luck.cpp:63:37: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
  for (i=0;i<n;i++) scanf("%d",&a[i]);
                                     ^
luck.cpp:64:37: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
  for (i=0;i<n;i++) scanf("%d",&b[i]);
                                     ^
# 결과 실행 시간 메모리 Grader output
1 Correct 0 ms 3164 KB Output is correct
2 Incorrect 0 ms 3164 KB Output isn't correct
3 Correct 0 ms 3164 KB Output is correct
4 Incorrect 0 ms 3164 KB Output isn't correct
5 Correct 3 ms 3164 KB Output is correct
6 Correct 3 ms 3164 KB Output is correct
7 Correct 0 ms 3164 KB Output is correct
8 Correct 0 ms 3164 KB Output is correct
9 Correct 0 ms 3164 KB Output is correct
10 Incorrect 0 ms 3164 KB Output isn't correct
11 Incorrect 0 ms 3164 KB Output isn't correct
12 Correct 0 ms 3164 KB Output is correct
13 Correct 0 ms 3164 KB Output is correct
14 Correct 0 ms 3164 KB Output is correct
15 Correct 0 ms 3164 KB Output is correct
16 Correct 0 ms 3164 KB Output is correct
17 Correct 0 ms 3164 KB Output is correct
18 Correct 0 ms 3164 KB Output is correct
19 Correct 0 ms 3164 KB Output is correct
20 Correct 0 ms 3164 KB Output is correct
21 Correct 0 ms 3164 KB Output is correct
22 Correct 0 ms 3164 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 0 ms 3164 KB Output is correct
2 Correct 0 ms 3164 KB Output is correct
3 Correct 0 ms 3164 KB Output is correct
4 Correct 0 ms 3164 KB Output is correct
5 Correct 0 ms 3164 KB Output is correct
6 Correct 0 ms 3164 KB Output is correct
7 Correct 0 ms 3164 KB Output is correct
8 Correct 0 ms 3164 KB Output is correct
9 Correct 0 ms 3164 KB Output is correct
10 Correct 0 ms 3164 KB Output is correct
11 Correct 0 ms 3164 KB Output is correct
12 Correct 0 ms 3164 KB Output is correct
13 Correct 0 ms 3164 KB Output is correct
14 Correct 0 ms 3164 KB Output is correct
15 Correct 0 ms 3164 KB Output is correct
16 Correct 0 ms 3164 KB Output is correct
17 Correct 0 ms 3164 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 0 ms 3164 KB Output is correct
2 Incorrect 0 ms 3164 KB Output isn't correct
3 Correct 0 ms 3164 KB Output is correct
4 Incorrect 0 ms 3164 KB Output isn't correct
5 Correct 3 ms 3164 KB Output is correct
6 Correct 3 ms 3164 KB Output is correct
7 Correct 0 ms 3164 KB Output is correct
8 Correct 0 ms 3164 KB Output is correct
9 Correct 0 ms 3164 KB Output is correct
10 Incorrect 0 ms 3164 KB Output isn't correct
11 Incorrect 0 ms 3164 KB Output isn't correct
12 Correct 0 ms 3164 KB Output is correct
13 Correct 0 ms 3164 KB Output is correct
14 Correct 0 ms 3164 KB Output is correct
15 Correct 0 ms 3164 KB Output is correct
16 Correct 0 ms 3164 KB Output is correct
17 Correct 0 ms 3164 KB Output is correct
18 Correct 0 ms 3164 KB Output is correct
19 Correct 0 ms 3164 KB Output is correct
20 Correct 0 ms 3164 KB Output is correct
21 Correct 0 ms 3164 KB Output is correct
22 Correct 0 ms 3164 KB Output is correct
23 Incorrect 0 ms 3164 KB Output isn't correct
24 Incorrect 0 ms 3164 KB Output isn't correct
25 Incorrect 0 ms 3164 KB Output isn't correct
26 Incorrect 0 ms 3164 KB Output isn't correct
27 Incorrect 0 ms 3164 KB Output isn't correct
28 Incorrect 0 ms 3164 KB Output isn't correct
29 Incorrect 0 ms 3164 KB Output isn't correct
30 Incorrect 0 ms 3164 KB Output isn't correct
31 Incorrect 0 ms 3164 KB Output isn't correct
32 Incorrect 0 ms 3164 KB Output isn't correct
33 Incorrect 0 ms 3164 KB Output isn't correct
34 Incorrect 0 ms 3164 KB Output isn't correct
35 Incorrect 0 ms 3164 KB Output isn't correct
36 Incorrect 0 ms 3164 KB Output isn't correct
37 Incorrect 0 ms 3164 KB Output isn't correct
38 Incorrect 0 ms 3164 KB Output isn't correct
39 Correct 0 ms 3164 KB Output is correct
40 Correct 0 ms 3164 KB Output is correct
41 Incorrect 0 ms 3164 KB Output isn't correct
42 Correct 23 ms 3164 KB Output is correct
43 Correct 449 ms 3164 KB Output is correct
44 Incorrect 0 ms 3164 KB Output isn't correct
45 Correct 0 ms 3164 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 0 ms 3164 KB Output is correct
2 Incorrect 0 ms 3164 KB Output isn't correct
3 Correct 0 ms 3164 KB Output is correct
4 Incorrect 0 ms 3164 KB Output isn't correct
5 Correct 3 ms 3164 KB Output is correct
6 Correct 3 ms 3164 KB Output is correct
7 Correct 0 ms 3164 KB Output is correct
8 Correct 0 ms 3164 KB Output is correct
9 Correct 0 ms 3164 KB Output is correct
10 Incorrect 0 ms 3164 KB Output isn't correct
11 Incorrect 0 ms 3164 KB Output isn't correct
12 Correct 0 ms 3164 KB Output is correct
13 Correct 0 ms 3164 KB Output is correct
14 Correct 0 ms 3164 KB Output is correct
15 Correct 0 ms 3164 KB Output is correct
16 Correct 0 ms 3164 KB Output is correct
17 Correct 0 ms 3164 KB Output is correct
18 Correct 0 ms 3164 KB Output is correct
19 Correct 0 ms 3164 KB Output is correct
20 Correct 0 ms 3164 KB Output is correct
21 Correct 0 ms 3164 KB Output is correct
22 Correct 0 ms 3164 KB Output is correct
23 Correct 0 ms 3164 KB Output is correct
24 Correct 0 ms 3164 KB Output is correct
25 Correct 0 ms 3164 KB Output is correct
26 Correct 0 ms 3164 KB Output is correct
27 Correct 0 ms 3164 KB Output is correct
28 Correct 0 ms 3164 KB Output is correct
29 Correct 0 ms 3164 KB Output is correct
30 Correct 0 ms 3164 KB Output is correct
31 Correct 0 ms 3164 KB Output is correct
32 Correct 0 ms 3164 KB Output is correct
33 Correct 0 ms 3164 KB Output is correct
34 Correct 0 ms 3164 KB Output is correct
35 Correct 0 ms 3164 KB Output is correct
36 Correct 0 ms 3164 KB Output is correct
37 Correct 0 ms 3164 KB Output is correct
38 Correct 0 ms 3164 KB Output is correct
39 Correct 0 ms 3164 KB Output is correct
40 Incorrect 0 ms 3164 KB Output isn't correct
41 Incorrect 0 ms 3164 KB Output isn't correct
42 Incorrect 0 ms 3164 KB Output isn't correct
43 Incorrect 0 ms 3164 KB Output isn't correct
44 Incorrect 0 ms 3164 KB Output isn't correct
45 Incorrect 0 ms 3164 KB Output isn't correct
46 Incorrect 0 ms 3164 KB Output isn't correct
47 Incorrect 0 ms 3164 KB Output isn't correct
48 Incorrect 0 ms 3164 KB Output isn't correct
49 Incorrect 0 ms 3164 KB Output isn't correct
50 Incorrect 0 ms 3164 KB Output isn't correct
51 Incorrect 0 ms 3164 KB Output isn't correct
52 Incorrect 0 ms 3164 KB Output isn't correct
53 Incorrect 0 ms 3164 KB Output isn't correct
54 Incorrect 0 ms 3164 KB Output isn't correct
55 Incorrect 0 ms 3164 KB Output isn't correct
56 Incorrect 0 ms 3164 KB Output isn't correct
57 Incorrect 0 ms 3164 KB Output isn't correct
58 Incorrect 0 ms 3164 KB Output isn't correct
59 Incorrect 0 ms 3164 KB Output isn't correct
# 결과 실행 시간 메모리 Grader output
1 Correct 0 ms 3164 KB Output is correct
2 Incorrect 0 ms 3164 KB Output isn't correct
3 Correct 0 ms 3164 KB Output is correct
4 Incorrect 0 ms 3164 KB Output isn't correct
5 Correct 3 ms 3164 KB Output is correct
6 Correct 3 ms 3164 KB Output is correct
7 Correct 0 ms 3164 KB Output is correct
8 Correct 0 ms 3164 KB Output is correct
9 Correct 0 ms 3164 KB Output is correct
10 Incorrect 0 ms 3164 KB Output isn't correct
11 Incorrect 0 ms 3164 KB Output isn't correct
12 Correct 0 ms 3164 KB Output is correct
13 Correct 0 ms 3164 KB Output is correct
14 Correct 0 ms 3164 KB Output is correct
15 Correct 0 ms 3164 KB Output is correct
16 Correct 0 ms 3164 KB Output is correct
17 Correct 0 ms 3164 KB Output is correct
18 Correct 0 ms 3164 KB Output is correct
19 Correct 0 ms 3164 KB Output is correct
20 Correct 0 ms 3164 KB Output is correct
21 Correct 0 ms 3164 KB Output is correct
22 Correct 0 ms 3164 KB Output is correct
23 Correct 0 ms 3164 KB Output is correct
24 Correct 0 ms 3164 KB Output is correct
25 Correct 0 ms 3164 KB Output is correct
26 Correct 0 ms 3164 KB Output is correct
27 Correct 0 ms 3164 KB Output is correct
28 Correct 0 ms 3164 KB Output is correct
29 Correct 0 ms 3164 KB Output is correct
30 Correct 0 ms 3164 KB Output is correct
31 Correct 0 ms 3164 KB Output is correct
32 Correct 0 ms 3164 KB Output is correct
33 Correct 0 ms 3164 KB Output is correct
34 Correct 0 ms 3164 KB Output is correct
35 Correct 0 ms 3164 KB Output is correct
36 Correct 0 ms 3164 KB Output is correct
37 Correct 0 ms 3164 KB Output is correct
38 Correct 0 ms 3164 KB Output is correct
39 Correct 0 ms 3164 KB Output is correct
40 Incorrect 0 ms 3164 KB Output isn't correct
41 Incorrect 0 ms 3164 KB Output isn't correct
42 Incorrect 0 ms 3164 KB Output isn't correct
43 Incorrect 0 ms 3164 KB Output isn't correct
44 Incorrect 0 ms 3164 KB Output isn't correct
45 Incorrect 0 ms 3164 KB Output isn't correct
46 Incorrect 0 ms 3164 KB Output isn't correct
47 Incorrect 0 ms 3164 KB Output isn't correct
48 Incorrect 0 ms 3164 KB Output isn't correct
49 Incorrect 0 ms 3164 KB Output isn't correct
50 Incorrect 0 ms 3164 KB Output isn't correct
51 Incorrect 0 ms 3164 KB Output isn't correct
52 Incorrect 0 ms 3164 KB Output isn't correct
53 Incorrect 0 ms 3164 KB Output isn't correct
54 Incorrect 0 ms 3164 KB Output isn't correct
55 Incorrect 0 ms 3164 KB Output isn't correct
56 Correct 0 ms 3164 KB Output is correct
57 Correct 0 ms 3164 KB Output is correct
58 Incorrect 0 ms 3164 KB Output isn't correct
59 Correct 23 ms 3164 KB Output is correct
60 Correct 449 ms 3164 KB Output is correct
61 Incorrect 0 ms 3164 KB Output isn't correct
62 Correct 0 ms 3164 KB Output is correct
63 Incorrect 0 ms 3164 KB Output isn't correct
64 Incorrect 0 ms 3164 KB Output isn't correct
65 Incorrect 0 ms 3164 KB Output isn't correct
66 Incorrect 0 ms 3164 KB Output isn't correct
67 Incorrect 0 ms 3164 KB Output isn't correct
68 Incorrect 0 ms 3164 KB Output isn't correct
69 Incorrect 0 ms 3164 KB Output isn't correct
70 Incorrect 0 ms 3164 KB Output isn't correct
71 Incorrect 0 ms 3164 KB Output isn't correct
72 Incorrect 0 ms 3164 KB Output isn't correct
73 Incorrect 0 ms 3164 KB Output isn't correct
74 Incorrect 0 ms 3164 KB Output isn't correct
75 Incorrect 0 ms 3164 KB Output isn't correct
76 Incorrect 0 ms 3164 KB Output isn't correct
77 Incorrect 0 ms 3164 KB Output isn't correct
78 Incorrect 0 ms 3164 KB Output isn't correct
79 Incorrect 0 ms 3164 KB Output isn't correct
80 Incorrect 0 ms 3164 KB Output isn't correct
81 Incorrect 0 ms 3164 KB Output isn't correct
82 Incorrect 0 ms 3164 KB Output isn't correct
83 Incorrect 0 ms 3164 KB Output isn't correct
84 Incorrect 0 ms 3164 KB Output isn't correct
85 Incorrect 0 ms 3164 KB Output isn't correct
86 Incorrect 0 ms 3164 KB Output isn't correct
87 Incorrect 0 ms 3164 KB Output isn't correct
88 Incorrect 0 ms 3164 KB Output isn't correct
89 Incorrect 0 ms 3164 KB Output isn't correct
90 Incorrect 0 ms 3164 KB Output isn't correct
91 Incorrect 0 ms 3164 KB Output isn't correct
92 Incorrect 0 ms 3164 KB Output isn't correct
93 Incorrect 0 ms 3164 KB Output isn't correct
94 Incorrect 0 ms 3164 KB Output isn't correct
95 Incorrect 0 ms 3164 KB Output isn't correct
96 Incorrect 0 ms 3164 KB Output isn't correct
97 Incorrect 0 ms 3164 KB Output isn't correct
98 Incorrect 0 ms 3164 KB Output isn't correct
99 Incorrect 0 ms 3164 KB Output isn't correct
100 Incorrect 0 ms 3164 KB Output isn't correct
101 Incorrect 0 ms 3164 KB Output isn't correct
102 Incorrect 0 ms 3164 KB Output isn't correct
103 Incorrect 0 ms 3164 KB Output isn't correct
104 Incorrect 0 ms 3164 KB Output isn't correct
105 Incorrect 0 ms 3164 KB Output isn't correct
106 Incorrect 0 ms 3164 KB Output isn't correct
107 Incorrect 0 ms 3164 KB Output isn't correct