编号 题目 状态 分数 总时间 内存 代码 / 答案文件 提交者 提交时间
#25077 #2023. 按位或 Time Limit Exceeded 59 40839 ms 21572 K C++ 11 / 1.7 K 192023211227 2024-12-21 17:45:24
显示原始代码
#include <bits/stdc++.h>

using namespace std;

int main() {
    int ans = 0;
    int n, k, a;
    cin >> n >> k;
    unordered_set<int> set;
    vector<int> num(n, 0);
    vector<vector<int>> dp(n, vector<int>(2, 0));

    for (int i = 0; i < n; i++) {
        cin >> a;
        num[i] = a;
        dp[i][0] = a;
        if (num[i] < k && set.count(num[i]) == 0) {
            ans++;
            set.insert(num[i]);
        }
    }

    for (int i = 0; i < n; i++) {
        for (int j = i + 1; j < n; j++) {
            dp[i][1] = dp[i][0] | num[j];
            if (dp[i][1] < k && set.count(dp[i][1]) == 0) {
                ans++;
                set.insert(dp[i][1]);
            }
            dp[i][0] = dp[i][1];
        }
    }

    // for (auto v : dp) {
    // 	for (auto n : v) cout << n << " ";
    // 	cout << endl;
    // }

    cout << ans << endl;

    return 0;
}

// #include <bits/stdc++.h>

// using namespace std;

// int main()
// {
// 	int ans = 0;
// 	int n, k, a;
// 	cin >> n >> k;
// 	unordered_set<int> set;
// 	vector<int> num(n, 0);
// 	vector<vector<int>> dp(n, vector<int>(2, 0));

// 	for (int i = 0; i < n; i++) {
// 		cin >> a;
// 		num[i] = a;		// 记录数组
// 		dp[i][0] = a;	// 初始化dp数组
// 		if (num[i] < k && set.count(num[i]) == 0) {	// 记录非重复结果
// 			ans++;
// 			set.insert(num[i]);
// 		}
// 	}

// 	for (int j = 1; j < n; j++) {
// 		for (int i = 0; i < n; i++) {
// 			if (i < j) {
// 				dp[i][1] = dp[i][0] | num[j];	// 更新dp数组
// 				if (dp[i][1] < k && set.count(dp[i][1]) == 0) {
// 					ans++;
// 					set.insert(dp[i][1]);
// 				}
// 				dp[i][0] = dp[i][1];	// 存放结果到上一次
// 			}
// 		}
// 	}

// 	// for (auto v : dp) {
// 	// 	for (auto n : v) cout << n << " ";
// 	// 	cout << endl;
// 	// }

// 	cout << ans << endl;

// 	return 0;
// }
子任务 #1
Time Limit Exceeded
得分:59
测试点 #1
Time Limit Exceeded
得分:0
用时:4006 ms
内存:21572 KiB

输入文件(handmake_max1.in

200000 1000000
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 
<1288812 bytes omitted>

答案文件(handmake_max1.out

200004
测试点 #2
Accepted
得分:100
用时:4 ms
内存:328 KiB

输入文件(test1.in

2 2
1 1

答案文件(test1.out

1

用户输出

1

系统信息

Exited with return code 0
测试点 #3
Time Limit Exceeded
得分:0
用时:4013 ms
内存:12076 KiB

输入文件(hand_make_2.in

200000 1000000
2 4 8 16 32 64 128 256 512 1024 2048 4096 8192 16384 32768 65536 131072 262144 1 2 4
<852538 bytes omitted>

答案文件(hand_make_2.out

343
测试点 #4
Accepted
得分:100
用时:5 ms
内存:356 KiB

输入文件(test2.in

3 8
1 2 4

答案文件(test2.out

6

用户输出

6

系统信息

Exited with return code 0
测试点 #5
Time Limit Exceeded
得分:0
用时:4004 ms
内存:12464 KiB

输入文件(hand_make_3.in

200000 1000000
8192 256 1024 8 512 64 32 1 16384 128 32768 4 2048 131072 16 2 262144 4096 65536 32 
<852538 bytes omitted>

答案文件(hand_make_3.out

472301
测试点 #6
Accepted
得分:100
用时:4 ms
内存:284 KiB

输入文件(test3.in

3 8
2 6 7

答案文件(test3.out

3

用户输出

3

系统信息

Exited with return code 0
测试点 #7
Time Limit Exceeded
得分:0
用时:4042 ms
内存:18124 KiB

输入文件(hand_make_4.in

200000 1000000
8192 32 32768 128 2048 262144 16 2 4 65536 512 4096 131072 8 1 64 16384 256 1024 131
<859989 bytes omitted>

答案文件(hand_make_4.out

711238
测试点 #8
Accepted
得分:100
用时:4 ms
内存:328 KiB

输入文件(test4.in

3 4
2 6 7

答案文件(test4.out

1

用户输出

1

系统信息

Exited with return code 0
测试点 #9
Time Limit Exceeded
得分:0
用时:4007 ms
内存:18124 KiB

输入文件(h5.in

200000 1000000
2048 131072 8 4096 2 16384 512 1 256 65536 1024 8192 16 32768 64 32 128 4 262144 655
<881836 bytes omitted>

答案文件(h5.out

715336
测试点 #10
Time Limit Exceeded
得分:0
用时:4021 ms
内存:18080 KiB

输入文件(hand_make_5.in

200000 1000000
4096 262144 32768 2 1 256 2048 131072 8192 4 1024 16384 32 128 8 64 512 65536 16 524
<879916 bytes omitted>

答案文件(hand_make_5.out

722191
测试点 #11
Accepted
得分:100
用时:4 ms
内存:324 KiB

输入文件(test5.in

4 13
4 2 3 10

答案文件(test5.out

7

用户输出

7

系统信息

Exited with return code 0
测试点 #12
Accepted
得分:100
用时:4 ms
内存:324 KiB

输入文件(test6.in

4 19
3 9 19 16

答案文件(test6.out

4

用户输出

4

系统信息

Exited with return code 0
测试点 #13
Accepted
得分:100
用时:5 ms
内存:328 KiB

输入文件(h7.in

1 2
1

答案文件(h7.out

1

用户输出

1

系统信息

Exited with return code 0
测试点 #14
Accepted
得分:100
用时:4 ms
内存:320 KiB

输入文件(test7.in

10 15
11 16 4 2 8 15 7 10 10 3

答案文件(test7.out

9

用户输出

9

系统信息

Exited with return code 0
测试点 #15
Accepted
得分:100
用时:4 ms
内存:284 KiB

输入文件(h8.in

1 2
10

答案文件(h8.out

0

用户输出

0

系统信息

Exited with return code 0
测试点 #16
Accepted
得分:100
用时:5 ms
内存:412 KiB

输入文件(test8.in

7 2
89 195 169 35 84 173 75

答案文件(test8.out

0

用户输出

0

系统信息

Exited with return code 0
测试点 #17
Accepted
得分:100
用时:6 ms
内存:348 KiB

输入文件(test9.in

29 139
145 163 96 87 122 147 95 6 11 40 196 126 63 22 61 49 91 93 41 48 129 31 181 27 51 38 19 148 
<5 bytes omitted>

答案文件(test9.out

33

用户输出

33

系统信息

Exited with return code 0
测试点 #18
Accepted
得分:100
用时:3596 ms
内存:5204 KiB

输入文件(test11.in

81827 320371
965586338 895460009 889516123 322438172 815448796 595110522 698354317 645173866 250034
<809176 bytes omitted>

答案文件(test11.out

26

用户输出

26

系统信息

Exited with return code 0
测试点 #19
Time Limit Exceeded
得分:0
用时:4053 ms
内存:11852 KiB

输入文件(test12.in

196276 594597
918043567 104286254 586260556 532792198 183147873 390336926 351400158 506903592 56435
<1940838 bytes omitted>

答案文件(test12.out

142
测试点 #20
Time Limit Exceeded
得分:0
用时:4052 ms
内存:10220 KiB

输入文件(test13.in

167279 299249
619713276 749743732 870261567 631018072 802316162 507470720 995002668 346609585 75046
<1654205 bytes omitted>

答案文件(test13.out

53
测试点 #21
Accepted
得分:100
用时:987 ms
内存:2904 KiB

输入文件(test14.in

42528 555134
696198708 495638570 520619786 156935731 656306628 105192963 74808142 627379236 2543836
<420433 bytes omitted>

答案文件(test14.out

30

用户输出

30

系统信息

Exited with return code 0
测试点 #22
Time Limit Exceeded
得分:0
用时:4009 ms
内存:7740 KiB

输入文件(test15.in

125965 316694
161353587 207830038 349910383 236616668 512114791 573029276 118373936 725429883 14889
<1245535 bytes omitted>

答案文件(test15.out

43