Submission #711126

# Submission time Handle Problem Language Result Execution time Memory
711126 2023-03-16T08:50:49 Z dozer Lutrija (COCI19_lutrija) C++14
70 / 70
304 ms 332 KB
#include <bits/stdc++.h>
using namespace std;
#define sp " "
#define endl "\n";
#define fastio() cin.tie(0), ios_base::sync_with_stdio(0)
#define pb push_back
#define pii pair<int, int>
#define st first
#define nd second
#define N 200005
#define int long long

const int modulo = 1e9 + 7;
int dp[1005][1005];

bool is_prime(int num)
{
	num = abs(num);
	if (num < 2) return 0;
	for (int i = 2; i * i <= num; i++)
		if (num % i == 0) return 0;
	return 1;
}

vector<int> ans;
int flag = 0;
void solve(int a, int b)
{
	if (a == b) 
	{
		ans.pb(a);
		return;
	}
	if (is_prime(b - a))
	{ 
		ans.pb(a);
		solve(b, b);
	}
	else if (is_prime(a - 2)) 
	{
		ans.pb(a);
		solve(2, b);
	}
	else if (is_prime(a + 2)) 
	{
		ans.pb(a);
		solve(a + 2, b); 
	}
	else if (is_prime(b - 2))
	{
		solve(a, 2);
		ans.pb(b);
	}
	else if (is_prime(b + 2))
	{
		solve(a, b + 2);
		ans.pb(b);
	}
	else flag = 1;
}	


int32_t main()
{
	fastio();

	int a, b;
	cin>>a>>b;
	solve(a, b);
	if (ans.size() && ans.back() == b && flag == 0)
	{
		cout<<ans.size()<<endl;
		for (auto i : ans) cout<<i<<sp;
		cout<<endl;
	}
	else cout<<-1<<endl;
	cerr << "time taken : " << (float)clock() / CLOCKS_PER_SEC << " seconds\n";
}
# Verdict Execution time Memory Grader output
1 Correct 0 ms 212 KB Output is correct
2 Correct 0 ms 212 KB Output is correct
3 Correct 0 ms 212 KB Output is correct
4 Correct 0 ms 212 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 0 ms 212 KB Output is correct
2 Correct 0 ms 212 KB Output is correct
3 Correct 0 ms 212 KB Output is correct
4 Correct 1 ms 212 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 1 ms 212 KB Output is correct
2 Correct 1 ms 212 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 0 ms 212 KB Output is correct
2 Correct 1 ms 212 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 1 ms 212 KB Output is correct
2 Correct 1 ms 212 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 0 ms 212 KB Output is correct
2 Correct 1 ms 212 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 294 ms 308 KB Output is correct
2 Correct 178 ms 304 KB Output is correct
3 Correct 1 ms 212 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 277 ms 304 KB Output is correct
2 Correct 182 ms 304 KB Output is correct
3 Correct 1 ms 212 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 304 ms 316 KB Output is correct
2 Correct 165 ms 300 KB Output is correct
3 Correct 1 ms 212 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 220 ms 308 KB Output is correct
2 Correct 130 ms 332 KB Output is correct
3 Correct 1 ms 212 KB Output is correct