Submission #686758

# Submission time Handle Problem Language Result Execution time Memory
686758 2023-01-25T23:01:38 Z tolbi Bootfall (IZhO17_bootfall) C++17
13 / 100
1000 ms 39476 KB
#pragma optimize("Bismillahirrahmanirrahim")
//█▀█─█──█──█▀█─█─█
//█▄█─█──█──█▄█─█■█
//█─█─█▄─█▄─█─█─█─█
//Allahuekber
//ahmet23 orz...
//Sani buyuk Osman Pasa Plevneden cikmam diyor.
//FatihSultanMehmedHan
//YavuzSultanSelimHan
//AbdulhamidHan
#define author tolbi
#include <bits/stdc++.h>
#ifdef LOCAL
	#include "23.h"
#endif
#define int long long
#define endl '\n'
#define vint(x) vector<int> x
#define deci(x) int x;cin>>x;
#define decstr(x) string x;cin>>x;
#define cinarr(x) for (auto &it : x) cin>>it;
#define coutarr(x) for (auto &it : x) cout<<it<<" ";cout<<endl;
#define sortarr(x) sort(x.begin(),x.end())
#define sortrarr(x) sort(x.rbegin(),x.rend())
#define det(x) cout<<"NO\0YES"+x*3<<endl;
#define INF LONG_LONG_MAX
#define rev(x) reverse(x.begin(),x.end());
#define ios ios::sync_with_stdio(0);cin.tie(0);cout.tie(0);
#define tol(bi) (1LL<<((int)(bi)))
const int MOD = 1e9+7;
using namespace std;
mt19937 ayahya(chrono::high_resolution_clock().now().time_since_epoch().count());
int32_t main(){
	ios;
	int t=1;
	int tno = 0;
	if (!t) cin>>t;
	while (t-(tno++)){
		deci(n);
		vint(arr(n));
		cinarr(arr);
		vector<int> ansarr(2500001,0);
		ansarr[0]=1;
		int sum = 0;
		for (int i = 0; i < n; i++){
			sum+=arr[i];
			for(int j = ansarr.size()-arr[i]-1; j >= 0; j--){
				ansarr[j + arr[i]] += ansarr[j];
			}
		}
		if (sum%2 || ansarr[sum/2]==0){
			cout<<0<<endl;
			continue;
		}
		vector<int> kk(2500001,0);
		for (int i = 0; i < n; i++){
			for (int j = 0; j < ansarr.size(); j++){
				if (ansarr[j]>0 && j*2>=sum-arr[i]) kk[j*2-sum+arr[i]]++;
				if (j<ansarr.size()-arr[i]) ansarr[j+arr[i]]-=ansarr[j];
			}
			for (int j = ansarr.size()-arr[i]-1; j >= 0; j--){
				ansarr[j+arr[i]]+=ansarr[j];
			}
		}
		vector<int> hueh;
		for (int i = 1; i < kk.size(); i++){
			if (kk[i]==n) hueh.push_back(i);
		}
		cout<<hueh.size()<<endl;
		coutarr(hueh);
	}
}

Compilation message

bootfall.cpp:1: warning: ignoring '#pragma optimize ' [-Wunknown-pragmas]
    1 | #pragma optimize("Bismillahirrahmanirrahim")
      | 
bootfall.cpp: In function 'int32_t main()':
bootfall.cpp:57:22: warning: comparison of integer expressions of different signedness: 'long long int' and 'std::vector<long long int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   57 |    for (int j = 0; j < ansarr.size(); j++){
      |                    ~~^~~~~~~~~~~~~~~
bootfall.cpp:59:10: warning: comparison of integer expressions of different signedness: 'long long int' and 'long long unsigned int' [-Wsign-compare]
   59 |     if (j<ansarr.size()-arr[i]) ansarr[j+arr[i]]-=ansarr[j];
bootfall.cpp:66:21: warning: comparison of integer expressions of different signedness: 'long long int' and 'std::vector<long long int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   66 |   for (int i = 1; i < kk.size(); i++){
      |                   ~~^~~~~~~~~~~
# Verdict Execution time Memory Grader output
1 Correct 101 ms 39452 KB Output is correct
2 Correct 153 ms 39372 KB Output is correct
3 Correct 30 ms 19804 KB Output is correct
4 Correct 100 ms 39352 KB Output is correct
5 Correct 277 ms 39448 KB Output is correct
6 Correct 193 ms 39456 KB Output is correct
7 Correct 149 ms 39456 KB Output is correct
8 Correct 281 ms 39456 KB Output is correct
9 Correct 235 ms 39336 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 101 ms 39452 KB Output is correct
2 Correct 153 ms 39372 KB Output is correct
3 Correct 30 ms 19804 KB Output is correct
4 Correct 100 ms 39352 KB Output is correct
5 Correct 277 ms 39448 KB Output is correct
6 Correct 193 ms 39456 KB Output is correct
7 Correct 149 ms 39456 KB Output is correct
8 Correct 281 ms 39456 KB Output is correct
9 Correct 235 ms 39336 KB Output is correct
10 Correct 667 ms 39452 KB Output is correct
11 Correct 668 ms 39476 KB Output is correct
12 Correct 671 ms 39360 KB Output is correct
13 Correct 561 ms 39448 KB Output is correct
14 Correct 613 ms 39452 KB Output is correct
15 Correct 599 ms 39452 KB Output is correct
16 Correct 652 ms 39344 KB Output is correct
17 Correct 402 ms 39464 KB Output is correct
18 Correct 534 ms 39452 KB Output is correct
19 Correct 569 ms 39452 KB Output is correct
20 Correct 668 ms 39372 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 101 ms 39452 KB Output is correct
2 Correct 153 ms 39372 KB Output is correct
3 Correct 30 ms 19804 KB Output is correct
4 Correct 100 ms 39352 KB Output is correct
5 Correct 277 ms 39448 KB Output is correct
6 Correct 193 ms 39456 KB Output is correct
7 Correct 149 ms 39456 KB Output is correct
8 Correct 281 ms 39456 KB Output is correct
9 Correct 235 ms 39336 KB Output is correct
10 Correct 667 ms 39452 KB Output is correct
11 Correct 668 ms 39476 KB Output is correct
12 Correct 671 ms 39360 KB Output is correct
13 Correct 561 ms 39448 KB Output is correct
14 Correct 613 ms 39452 KB Output is correct
15 Correct 599 ms 39452 KB Output is correct
16 Correct 652 ms 39344 KB Output is correct
17 Correct 402 ms 39464 KB Output is correct
18 Correct 534 ms 39452 KB Output is correct
19 Correct 569 ms 39452 KB Output is correct
20 Correct 668 ms 39372 KB Output is correct
21 Execution timed out 1092 ms 39352 KB Time limit exceeded
22 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 101 ms 39452 KB Output is correct
2 Correct 153 ms 39372 KB Output is correct
3 Correct 30 ms 19804 KB Output is correct
4 Correct 100 ms 39352 KB Output is correct
5 Correct 277 ms 39448 KB Output is correct
6 Correct 193 ms 39456 KB Output is correct
7 Correct 149 ms 39456 KB Output is correct
8 Correct 281 ms 39456 KB Output is correct
9 Correct 235 ms 39336 KB Output is correct
10 Correct 667 ms 39452 KB Output is correct
11 Correct 668 ms 39476 KB Output is correct
12 Correct 671 ms 39360 KB Output is correct
13 Correct 561 ms 39448 KB Output is correct
14 Correct 613 ms 39452 KB Output is correct
15 Correct 599 ms 39452 KB Output is correct
16 Correct 652 ms 39344 KB Output is correct
17 Correct 402 ms 39464 KB Output is correct
18 Correct 534 ms 39452 KB Output is correct
19 Correct 569 ms 39452 KB Output is correct
20 Correct 668 ms 39372 KB Output is correct
21 Execution timed out 1092 ms 39352 KB Time limit exceeded
22 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 101 ms 39452 KB Output is correct
2 Correct 153 ms 39372 KB Output is correct
3 Correct 30 ms 19804 KB Output is correct
4 Correct 100 ms 39352 KB Output is correct
5 Correct 277 ms 39448 KB Output is correct
6 Correct 193 ms 39456 KB Output is correct
7 Correct 149 ms 39456 KB Output is correct
8 Correct 281 ms 39456 KB Output is correct
9 Correct 235 ms 39336 KB Output is correct
10 Correct 667 ms 39452 KB Output is correct
11 Correct 668 ms 39476 KB Output is correct
12 Correct 671 ms 39360 KB Output is correct
13 Correct 561 ms 39448 KB Output is correct
14 Correct 613 ms 39452 KB Output is correct
15 Correct 599 ms 39452 KB Output is correct
16 Correct 652 ms 39344 KB Output is correct
17 Correct 402 ms 39464 KB Output is correct
18 Correct 534 ms 39452 KB Output is correct
19 Correct 569 ms 39452 KB Output is correct
20 Correct 668 ms 39372 KB Output is correct
21 Execution timed out 1092 ms 39352 KB Time limit exceeded
22 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 101 ms 39452 KB Output is correct
2 Correct 153 ms 39372 KB Output is correct
3 Correct 30 ms 19804 KB Output is correct
4 Correct 100 ms 39352 KB Output is correct
5 Correct 277 ms 39448 KB Output is correct
6 Correct 193 ms 39456 KB Output is correct
7 Correct 149 ms 39456 KB Output is correct
8 Correct 281 ms 39456 KB Output is correct
9 Correct 235 ms 39336 KB Output is correct
10 Correct 667 ms 39452 KB Output is correct
11 Correct 668 ms 39476 KB Output is correct
12 Correct 671 ms 39360 KB Output is correct
13 Correct 561 ms 39448 KB Output is correct
14 Correct 613 ms 39452 KB Output is correct
15 Correct 599 ms 39452 KB Output is correct
16 Correct 652 ms 39344 KB Output is correct
17 Correct 402 ms 39464 KB Output is correct
18 Correct 534 ms 39452 KB Output is correct
19 Correct 569 ms 39452 KB Output is correct
20 Correct 668 ms 39372 KB Output is correct
21 Execution timed out 1092 ms 39352 KB Time limit exceeded
22 Halted 0 ms 0 KB -