답안 #495959

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
495959 2021-12-20T08:36:43 Z Ierus Nice sequence (IZhO18_sequence) C++17
15 / 100
1695 ms 972 KB
#include<bits/stdc++.h>
/*
#include <ext/pb_ds/assoc_container.hpp>
#include <ext/pb_ds/tree_policy.hpp>
using namespace __gnu_pbds;
*/
using namespace std;
#pragma GCC optimize ("unroll-loops,Ofast,O3")
#pragma GCC target("avx,avx2,fma")
#define F first
#define S second
#define sz(x) (int)x.size()
#define pb push_back
#define eb emplace_back
#define all(x) (x).begin(),(x).end()
#define rall(x) (x).rbegin(),(x).rend()
#define NFS ios_base::sync_with_stdio(0) , cin.tie(0) , cout.tie(0) ;
#define file(s) if (fopen(s".in", "r")) freopen(s".in", "r", stdin), freopen(s".out", "w", stdout)
//#define ordered_set tree<int, null_type,less<int>, rb_tree_tag,tree_order_statistics_node_update>
typedef long long ll;
const int E = 1e6+777;
const long long inf = 1e18+777;
const int N = 1e5+777;
const int MOD = 1e9+7;
const bool I = 1;
int n, m;
vector<int> ans;
vector<int>v;
bool check(){
	for(int i = 0; i < sz(v); ++i){
		if(i + n - 1 < sz(v)){
			int sum = 0;
			for(int j = i; j <= i + n - 1; ++j){
				sum += v[j];
			}
			if(sum >= 0) return false;
		}
		if(i + m - 1 < sz(v)){
			int sum = 0;
			for(int j = i; j <= i + m - 1; ++j){
				sum += v[j];
			}
			if(sum <= 0) return false;
		}
	}
	return true;
}
int mx = 0;
void rec(int len ){
	if(check()){
		if(sz(v) > mx){
			mx = sz(v);
			ans = v;
		}
	}
	if(len == max(n, m)+3) return;
	for(int i= -2; i <= 2; ++i){
		if(i == 0) continue;
		v.pb(i);
		rec(len + 1);
		v.pop_back();
	}
}
int main(){auto solve=[&](){

	cin >> n >> m;
	if(n == 2){
		if(m % 2 == 0) --m;
		cout << m << '\n';
		for(int i = 1; i <= m; ++i){
			if(i & 1) cout << "444441 ";
			else cout << "-444442 ";
		}
		cout << '\n';
	}else if(m == 2){
		if(n % 2 == 0) -- n;
		cout << n << '\n';
		for(int i = 1; i <= n; ++i){
			if(i & 1) cout << "-444441 ";
			else cout << "444442 ";
		}
		cout << '\n';
	}else{
		if(m % n == 0 && m >= n){
			cout << m - 1 << '\n';
			for(int i = 1; i < m; ++i) cout << "-1 ";
			cout << '\n';
		}else if(n % m == 0 && n >= m){
			cout << n - 1 << '\n';
			for(int i = 1; i < n; ++i) cout << "1 ";
			cout << '\n';
		}else{
			ans.clear();
			mx = 0;
			if(n <= 10 && m <= 10){
				rec(0);
				cout << sz(ans) << '\n';
				for(auto it : ans)	
					cout << it << ' ';
				cout << '\n';
			}else{
				cout << "0\n";
			}
		}
	}
};NFS;int T=1;if(I)cin>>T;while(T--)solve();}







		



# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 204 KB Ok
2 Correct 0 ms 204 KB Ok
3 Correct 0 ms 204 KB Ok
4 Correct 0 ms 204 KB Ok
5 Correct 1 ms 204 KB Ok
6 Correct 0 ms 204 KB Ok
7 Correct 1 ms 204 KB Ok
8 Correct 0 ms 204 KB Ok
9 Correct 0 ms 204 KB Ok
10 Correct 0 ms 204 KB Ok
11 Correct 0 ms 204 KB Ok
12 Correct 0 ms 204 KB Ok
# 결과 실행 시간 메모리 Grader output
1 Correct 0 ms 204 KB Ok
2 Correct 0 ms 204 KB Ok
3 Correct 0 ms 204 KB Ok
4 Correct 0 ms 204 KB Ok
5 Correct 0 ms 204 KB Ok
6 Correct 1 ms 332 KB Ok
7 Correct 3 ms 844 KB Ok
8 Correct 3 ms 588 KB Ok
9 Correct 4 ms 972 KB Ok
10 Correct 2 ms 716 KB Ok
# 결과 실행 시간 메모리 Grader output
1 Correct 0 ms 204 KB Ok
2 Correct 0 ms 204 KB Ok
3 Correct 0 ms 204 KB Ok
4 Incorrect 1695 ms 288 KB Jury has the better answer : jans = 9, pans = 7
5 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 182 ms 284 KB Jury has the better answer : jans = 5, pans = 4
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 204 KB Ok
2 Correct 0 ms 204 KB Ok
3 Correct 0 ms 204 KB Ok
4 Correct 0 ms 204 KB Ok
5 Correct 1 ms 204 KB Ok
6 Correct 0 ms 204 KB Ok
7 Correct 1 ms 204 KB Ok
8 Correct 0 ms 204 KB Ok
9 Correct 0 ms 204 KB Ok
10 Correct 0 ms 204 KB Ok
11 Correct 0 ms 204 KB Ok
12 Correct 0 ms 204 KB Ok
13 Correct 0 ms 204 KB Ok
14 Correct 0 ms 204 KB Ok
15 Correct 0 ms 204 KB Ok
16 Incorrect 1695 ms 288 KB Jury has the better answer : jans = 9, pans = 7
17 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 204 KB Ok
2 Correct 0 ms 204 KB Ok
3 Correct 0 ms 204 KB Ok
4 Correct 0 ms 204 KB Ok
5 Correct 1 ms 204 KB Ok
6 Correct 0 ms 204 KB Ok
7 Correct 1 ms 204 KB Ok
8 Correct 0 ms 204 KB Ok
9 Correct 0 ms 204 KB Ok
10 Correct 0 ms 204 KB Ok
11 Correct 0 ms 204 KB Ok
12 Correct 0 ms 204 KB Ok
13 Correct 0 ms 204 KB Ok
14 Correct 0 ms 204 KB Ok
15 Correct 0 ms 204 KB Ok
16 Correct 0 ms 204 KB Ok
17 Correct 0 ms 204 KB Ok
18 Correct 1 ms 332 KB Ok
19 Correct 3 ms 844 KB Ok
20 Correct 3 ms 588 KB Ok
21 Correct 4 ms 972 KB Ok
22 Correct 2 ms 716 KB Ok
23 Correct 0 ms 204 KB Ok
24 Correct 0 ms 204 KB Ok
25 Correct 0 ms 204 KB Ok
26 Incorrect 1695 ms 288 KB Jury has the better answer : jans = 9, pans = 7
27 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 204 KB Ok
2 Correct 0 ms 204 KB Ok
3 Correct 0 ms 204 KB Ok
4 Correct 0 ms 204 KB Ok
5 Correct 1 ms 204 KB Ok
6 Correct 0 ms 204 KB Ok
7 Correct 1 ms 204 KB Ok
8 Correct 0 ms 204 KB Ok
9 Correct 0 ms 204 KB Ok
10 Correct 0 ms 204 KB Ok
11 Correct 0 ms 204 KB Ok
12 Correct 0 ms 204 KB Ok
13 Correct 0 ms 204 KB Ok
14 Correct 0 ms 204 KB Ok
15 Correct 0 ms 204 KB Ok
16 Correct 0 ms 204 KB Ok
17 Correct 0 ms 204 KB Ok
18 Correct 1 ms 332 KB Ok
19 Correct 3 ms 844 KB Ok
20 Correct 3 ms 588 KB Ok
21 Correct 4 ms 972 KB Ok
22 Correct 2 ms 716 KB Ok
23 Correct 0 ms 204 KB Ok
24 Correct 0 ms 204 KB Ok
25 Correct 0 ms 204 KB Ok
26 Incorrect 1695 ms 288 KB Jury has the better answer : jans = 9, pans = 7
27 Halted 0 ms 0 KB -