Submission #20672

# Submission time Handle Problem Language Result Execution time Memory
20672 2017-02-13T12:59:49 Z 우리OJ(#80, cki86201) 복불복 (OJUZ11_luck) C++14
22 / 100
3 ms 2024 KB
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <memory.h>
#include <math.h>
#include <assert.h>
#include <queue>
#include <map>
#include <set>
#include <string>
#include <algorithm>
#include <iostream>
#include <functional>
#include <unordered_map>
#include <unordered_set>
#include <list>
#include <bitset>

using namespace std;
typedef pair<int, int> Pi;
typedef long long ll;
#define pii Pi
#define pll PL
#define Fi first
#define Se second
#define pb(x) push_back(x)
#define sz(x) ((int)(x).size())
#define rep(i, n) for(int i=0;i<n;i++)
#define all(x) (x).begin(), (x).end()
typedef tuple<int, int, int> t3;
typedef pair<ll, ll> PL;

int n, k;
int A[110], B[110];

const int MOD = 1e9 + 7;

void subtask_1(){
	int p[8] = {}, ans = 0;
	rep(i, n)p[i] = i;
	do{
		int aa = 1e9, bb = 0;
		rep(i, n){
			if(i < k)aa = min(aa, A[i] + B[p[i]]);
			else bb = max(bb, A[i] + B[p[i]]);
		}
		if(aa >= bb)ans++;
	}while(next_permutation(p, p+n));
	printf("%d\n", ans);
}

void subtask_2(){
	ll ans = 0;
	for(int i=0;i<n;i++){
		int aa = A[0] + B[i];
		int v[110] = {};
		for(int j=1;j<n;j++){
			int c = 0;
			for(int k=0;k<n;k++)if(i != k && B[k] + A[j] <= aa)++c;
			for(int k=1;k<=c;k++)v[k]++;
		}
		ll now = 1;
		for(int j=n-1;j;j--){
			now = now * v[j] % MOD;
			for(int k=j;k;k--)v[k]--;
		}
		ans = (ans + now) % MOD;
	}
	printf("%lld\n", ans);
}

void solve(){
	scanf("%d%d", &n, &k);
	rep(i, n)scanf("%d", A+i);
	rep(i, n)scanf("%d", B+i);
	sort(A, A+n); reverse(A, A+n);
	sort(B, B+n); reverse(B, B+n);
	if(n <= 8){
		subtask_1();
		return;
	}
	if(k == 1){
		subtask_2();
	}
	else return;
}

int main(){
	int Tc = 1; //scanf("%d", &Tc);
	for(int tc=1;tc<=Tc;tc++){
		//printf("Case #%d: ", tc);
		solve();
	}
	return 0;
}

Compilation message

luck.cpp: In function 'void solve()':
luck.cpp:73:23: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
  scanf("%d%d", &n, &k);
                       ^
luck.cpp:74:27: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
  rep(i, n)scanf("%d", A+i);
                           ^
luck.cpp:75:27: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
  rep(i, n)scanf("%d", B+i);
                           ^
# Verdict Execution time Memory Grader output
1 Correct 0 ms 2024 KB Output is correct
2 Correct 0 ms 2024 KB Output is correct
3 Correct 0 ms 2024 KB Output is correct
4 Correct 0 ms 2024 KB Output is correct
5 Correct 0 ms 2024 KB Output is correct
6 Correct 0 ms 2024 KB Output is correct
7 Correct 0 ms 2024 KB Output is correct
8 Correct 0 ms 2024 KB Output is correct
9 Correct 0 ms 2024 KB Output is correct
10 Correct 0 ms 2024 KB Output is correct
11 Correct 0 ms 2024 KB Output is correct
12 Correct 0 ms 2024 KB Output is correct
13 Correct 0 ms 2024 KB Output is correct
14 Correct 0 ms 2024 KB Output is correct
15 Correct 0 ms 2024 KB Output is correct
16 Correct 0 ms 2024 KB Output is correct
17 Correct 0 ms 2024 KB Output is correct
18 Correct 0 ms 2024 KB Output is correct
19 Correct 0 ms 2024 KB Output is correct
20 Correct 0 ms 2024 KB Output is correct
21 Correct 0 ms 2024 KB Output is correct
22 Correct 0 ms 2024 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 0 ms 2024 KB Output is correct
2 Correct 0 ms 2024 KB Output is correct
3 Correct 0 ms 2024 KB Output is correct
4 Correct 0 ms 2024 KB Output is correct
5 Correct 0 ms 2024 KB Output is correct
6 Correct 0 ms 2024 KB Output is correct
7 Correct 0 ms 2024 KB Output is correct
8 Correct 0 ms 2024 KB Output is correct
9 Correct 0 ms 2024 KB Output is correct
10 Correct 0 ms 2024 KB Output is correct
11 Correct 0 ms 2024 KB Output is correct
12 Correct 0 ms 2024 KB Output is correct
13 Correct 0 ms 2024 KB Output is correct
14 Correct 0 ms 2024 KB Output is correct
15 Correct 0 ms 2024 KB Output is correct
16 Correct 0 ms 2024 KB Output is correct
17 Correct 3 ms 2024 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 0 ms 2024 KB Output is correct
2 Correct 0 ms 2024 KB Output is correct
3 Correct 0 ms 2024 KB Output is correct
4 Correct 0 ms 2024 KB Output is correct
5 Correct 0 ms 2024 KB Output is correct
6 Correct 0 ms 2024 KB Output is correct
7 Correct 0 ms 2024 KB Output is correct
8 Correct 0 ms 2024 KB Output is correct
9 Correct 0 ms 2024 KB Output is correct
10 Correct 0 ms 2024 KB Output is correct
11 Correct 0 ms 2024 KB Output is correct
12 Correct 0 ms 2024 KB Output is correct
13 Correct 0 ms 2024 KB Output is correct
14 Correct 0 ms 2024 KB Output is correct
15 Correct 0 ms 2024 KB Output is correct
16 Correct 0 ms 2024 KB Output is correct
17 Correct 0 ms 2024 KB Output is correct
18 Correct 0 ms 2024 KB Output is correct
19 Correct 0 ms 2024 KB Output is correct
20 Correct 0 ms 2024 KB Output is correct
21 Correct 0 ms 2024 KB Output is correct
22 Correct 0 ms 2024 KB Output is correct
23 Incorrect 0 ms 2024 KB Output isn't correct
24 Incorrect 0 ms 2024 KB Output isn't correct
25 Incorrect 0 ms 2024 KB Output isn't correct
26 Incorrect 0 ms 2024 KB Output isn't correct
27 Incorrect 0 ms 2024 KB Output isn't correct
28 Incorrect 0 ms 2024 KB Output isn't correct
29 Incorrect 0 ms 2024 KB Output isn't correct
30 Incorrect 0 ms 2024 KB Output isn't correct
31 Incorrect 0 ms 2024 KB Output isn't correct
32 Incorrect 0 ms 2024 KB Output isn't correct
33 Incorrect 0 ms 2024 KB Output isn't correct
34 Incorrect 0 ms 2024 KB Output isn't correct
35 Incorrect 0 ms 2024 KB Output isn't correct
36 Incorrect 0 ms 2024 KB Output isn't correct
37 Incorrect 0 ms 2024 KB Output isn't correct
38 Incorrect 0 ms 2024 KB Output isn't correct
39 Correct 0 ms 2024 KB Output is correct
40 Correct 0 ms 2024 KB Output is correct
41 Incorrect 0 ms 2024 KB Output isn't correct
42 Incorrect 0 ms 2024 KB Output isn't correct
43 Incorrect 0 ms 2024 KB Output isn't correct
44 Incorrect 0 ms 2024 KB Output isn't correct
45 Correct 0 ms 2024 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 0 ms 2024 KB Output is correct
2 Correct 0 ms 2024 KB Output is correct
3 Correct 0 ms 2024 KB Output is correct
4 Correct 0 ms 2024 KB Output is correct
5 Correct 0 ms 2024 KB Output is correct
6 Correct 0 ms 2024 KB Output is correct
7 Correct 0 ms 2024 KB Output is correct
8 Correct 0 ms 2024 KB Output is correct
9 Correct 0 ms 2024 KB Output is correct
10 Correct 0 ms 2024 KB Output is correct
11 Correct 0 ms 2024 KB Output is correct
12 Correct 0 ms 2024 KB Output is correct
13 Correct 0 ms 2024 KB Output is correct
14 Correct 0 ms 2024 KB Output is correct
15 Correct 0 ms 2024 KB Output is correct
16 Correct 0 ms 2024 KB Output is correct
17 Correct 0 ms 2024 KB Output is correct
18 Correct 0 ms 2024 KB Output is correct
19 Correct 0 ms 2024 KB Output is correct
20 Correct 0 ms 2024 KB Output is correct
21 Correct 0 ms 2024 KB Output is correct
22 Correct 0 ms 2024 KB Output is correct
23 Correct 0 ms 2024 KB Output is correct
24 Correct 0 ms 2024 KB Output is correct
25 Correct 0 ms 2024 KB Output is correct
26 Correct 0 ms 2024 KB Output is correct
27 Correct 0 ms 2024 KB Output is correct
28 Correct 0 ms 2024 KB Output is correct
29 Correct 0 ms 2024 KB Output is correct
30 Correct 0 ms 2024 KB Output is correct
31 Correct 0 ms 2024 KB Output is correct
32 Correct 0 ms 2024 KB Output is correct
33 Correct 0 ms 2024 KB Output is correct
34 Correct 0 ms 2024 KB Output is correct
35 Correct 0 ms 2024 KB Output is correct
36 Correct 0 ms 2024 KB Output is correct
37 Correct 0 ms 2024 KB Output is correct
38 Correct 0 ms 2024 KB Output is correct
39 Correct 3 ms 2024 KB Output is correct
40 Incorrect 0 ms 2024 KB Output isn't correct
41 Incorrect 0 ms 2024 KB Output isn't correct
42 Incorrect 0 ms 2024 KB Output isn't correct
43 Incorrect 0 ms 2024 KB Output isn't correct
44 Incorrect 0 ms 2024 KB Output isn't correct
45 Incorrect 0 ms 2024 KB Output isn't correct
46 Incorrect 0 ms 2024 KB Output isn't correct
47 Incorrect 0 ms 2024 KB Output isn't correct
48 Incorrect 0 ms 2024 KB Output isn't correct
49 Incorrect 0 ms 2024 KB Output isn't correct
50 Incorrect 0 ms 2024 KB Output isn't correct
51 Incorrect 0 ms 2024 KB Output isn't correct
52 Incorrect 0 ms 2024 KB Output isn't correct
53 Incorrect 0 ms 2024 KB Output isn't correct
54 Incorrect 0 ms 2024 KB Output isn't correct
55 Incorrect 0 ms 2024 KB Output isn't correct
56 Incorrect 0 ms 2024 KB Output isn't correct
57 Incorrect 0 ms 2024 KB Output isn't correct
58 Incorrect 0 ms 2024 KB Output isn't correct
59 Incorrect 0 ms 2024 KB Output isn't correct
# Verdict Execution time Memory Grader output
1 Correct 0 ms 2024 KB Output is correct
2 Correct 0 ms 2024 KB Output is correct
3 Correct 0 ms 2024 KB Output is correct
4 Correct 0 ms 2024 KB Output is correct
5 Correct 0 ms 2024 KB Output is correct
6 Correct 0 ms 2024 KB Output is correct
7 Correct 0 ms 2024 KB Output is correct
8 Correct 0 ms 2024 KB Output is correct
9 Correct 0 ms 2024 KB Output is correct
10 Correct 0 ms 2024 KB Output is correct
11 Correct 0 ms 2024 KB Output is correct
12 Correct 0 ms 2024 KB Output is correct
13 Correct 0 ms 2024 KB Output is correct
14 Correct 0 ms 2024 KB Output is correct
15 Correct 0 ms 2024 KB Output is correct
16 Correct 0 ms 2024 KB Output is correct
17 Correct 0 ms 2024 KB Output is correct
18 Correct 0 ms 2024 KB Output is correct
19 Correct 0 ms 2024 KB Output is correct
20 Correct 0 ms 2024 KB Output is correct
21 Correct 0 ms 2024 KB Output is correct
22 Correct 0 ms 2024 KB Output is correct
23 Correct 0 ms 2024 KB Output is correct
24 Correct 0 ms 2024 KB Output is correct
25 Correct 0 ms 2024 KB Output is correct
26 Correct 0 ms 2024 KB Output is correct
27 Correct 0 ms 2024 KB Output is correct
28 Correct 0 ms 2024 KB Output is correct
29 Correct 0 ms 2024 KB Output is correct
30 Correct 0 ms 2024 KB Output is correct
31 Correct 0 ms 2024 KB Output is correct
32 Correct 0 ms 2024 KB Output is correct
33 Correct 0 ms 2024 KB Output is correct
34 Correct 0 ms 2024 KB Output is correct
35 Correct 0 ms 2024 KB Output is correct
36 Correct 0 ms 2024 KB Output is correct
37 Correct 0 ms 2024 KB Output is correct
38 Correct 0 ms 2024 KB Output is correct
39 Correct 3 ms 2024 KB Output is correct
40 Incorrect 0 ms 2024 KB Output isn't correct
41 Incorrect 0 ms 2024 KB Output isn't correct
42 Incorrect 0 ms 2024 KB Output isn't correct
43 Incorrect 0 ms 2024 KB Output isn't correct
44 Incorrect 0 ms 2024 KB Output isn't correct
45 Incorrect 0 ms 2024 KB Output isn't correct
46 Incorrect 0 ms 2024 KB Output isn't correct
47 Incorrect 0 ms 2024 KB Output isn't correct
48 Incorrect 0 ms 2024 KB Output isn't correct
49 Incorrect 0 ms 2024 KB Output isn't correct
50 Incorrect 0 ms 2024 KB Output isn't correct
51 Incorrect 0 ms 2024 KB Output isn't correct
52 Incorrect 0 ms 2024 KB Output isn't correct
53 Incorrect 0 ms 2024 KB Output isn't correct
54 Incorrect 0 ms 2024 KB Output isn't correct
55 Incorrect 0 ms 2024 KB Output isn't correct
56 Correct 0 ms 2024 KB Output is correct
57 Correct 0 ms 2024 KB Output is correct
58 Incorrect 0 ms 2024 KB Output isn't correct
59 Incorrect 0 ms 2024 KB Output isn't correct
60 Incorrect 0 ms 2024 KB Output isn't correct
61 Incorrect 0 ms 2024 KB Output isn't correct
62 Correct 0 ms 2024 KB Output is correct
63 Incorrect 0 ms 2024 KB Output isn't correct
64 Incorrect 0 ms 2024 KB Output isn't correct
65 Incorrect 0 ms 2024 KB Output isn't correct
66 Incorrect 0 ms 2024 KB Output isn't correct
67 Incorrect 0 ms 2024 KB Output isn't correct
68 Incorrect 0 ms 2024 KB Output isn't correct
69 Incorrect 0 ms 2024 KB Output isn't correct
70 Incorrect 0 ms 2024 KB Output isn't correct
71 Incorrect 0 ms 2024 KB Output isn't correct
72 Incorrect 0 ms 2024 KB Output isn't correct
73 Incorrect 0 ms 2024 KB Output isn't correct
74 Incorrect 0 ms 2024 KB Output isn't correct
75 Incorrect 0 ms 2024 KB Output isn't correct
76 Incorrect 0 ms 2024 KB Output isn't correct
77 Incorrect 0 ms 2024 KB Output isn't correct
78 Incorrect 0 ms 2024 KB Output isn't correct
79 Incorrect 0 ms 2024 KB Output isn't correct
80 Incorrect 0 ms 2024 KB Output isn't correct
81 Incorrect 0 ms 2024 KB Output isn't correct
82 Incorrect 0 ms 2024 KB Output isn't correct
83 Incorrect 0 ms 2024 KB Output isn't correct
84 Incorrect 0 ms 2024 KB Output isn't correct
85 Incorrect 0 ms 2024 KB Output isn't correct
86 Incorrect 0 ms 2024 KB Output isn't correct
87 Incorrect 0 ms 2024 KB Output isn't correct
88 Incorrect 0 ms 2024 KB Output isn't correct
89 Incorrect 0 ms 2024 KB Output isn't correct
90 Incorrect 0 ms 2024 KB Output isn't correct
91 Incorrect 0 ms 2024 KB Output isn't correct
92 Incorrect 0 ms 2024 KB Output isn't correct
93 Incorrect 0 ms 2024 KB Output isn't correct
94 Incorrect 0 ms 2024 KB Output isn't correct
95 Incorrect 0 ms 2024 KB Output isn't correct
96 Incorrect 0 ms 2024 KB Output isn't correct
97 Incorrect 0 ms 2024 KB Output isn't correct
98 Incorrect 0 ms 2024 KB Output isn't correct
99 Incorrect 0 ms 2024 KB Output isn't correct
100 Incorrect 0 ms 2024 KB Output isn't correct
101 Incorrect 0 ms 2024 KB Output isn't correct
102 Incorrect 0 ms 2024 KB Output isn't correct
103 Incorrect 0 ms 2024 KB Output isn't correct
104 Incorrect 0 ms 2024 KB Output isn't correct
105 Incorrect 0 ms 2024 KB Output isn't correct
106 Incorrect 0 ms 2024 KB Output isn't correct
107 Incorrect 0 ms 2024 KB Output isn't correct