initial commit
This commit is contained in:
parent
e43ee1ab9f
commit
2974f1548b
94
1872C Non-coprime Split/1872C.cpp
Normal file
94
1872C Non-coprime Split/1872C.cpp
Normal file
@ -0,0 +1,94 @@
|
||||
#include<bits/stdc++.h>
|
||||
using namespace std;
|
||||
|
||||
// Short forms
|
||||
#define ll long long
|
||||
#define ull unsigned long long
|
||||
#define nl '\n'
|
||||
#define ff first
|
||||
#define ss second
|
||||
#define all(x) x.begin(), x.end()
|
||||
#define sz(x) (int)(x).size()
|
||||
#define pb push_back
|
||||
#define mp make_pair
|
||||
|
||||
// Loops
|
||||
#define nlp(i, n) for (int i = 0; i < (int)(n); ++i)
|
||||
#define lp(i, a, b) for (int i = (int)(a); i <= (int)(b); ++i)
|
||||
#define rlp(i, a, b) for (int i = (int)(a); i >= (int)(b); --i)
|
||||
#define llp(i,a,b) for (ll i= (ll)(a); i <= (ll)(ll)(b); ++i)
|
||||
|
||||
// STLs
|
||||
#define pii pair<int, int>
|
||||
#define vi vector<int>
|
||||
#define vll vector<ll>
|
||||
#define vvi vector<vector<int>>
|
||||
#define vvl vector<vector<ll>>
|
||||
|
||||
// Outputs
|
||||
#define yes cout<<"YES"<<nl
|
||||
#define no cout<<"NO"<<nl
|
||||
#define dbg(x) cerr << #x <<" "<< x << endl;
|
||||
|
||||
// Constants
|
||||
#define PI 3.141592653589793238
|
||||
#define INF LONG_LONG_MAX
|
||||
#define MOD 1e9+7
|
||||
|
||||
// Faster Input Output
|
||||
#define FAST_IO (ios_base:: sync_with_stdio(false),cin.tie(NULL));
|
||||
|
||||
// Maths
|
||||
ll fact(ll n) { if(n==0) return 1; ll res = 1; for (ll i = 2; i <= n; i++) res = res * i; return res; }
|
||||
ll nPr(ll n, ll r) { return fact(n) / fact(n - r); }
|
||||
ll nCr(ll n, ll r) { return fact(n) / (fact(r) * fact(n - r)); }
|
||||
ll gcd(ll a, ll b) { if (b == 0) return a; return gcd(b, a % b); }
|
||||
ll lcm(ll a, ll b) { return (a * b) / gcd(a, b);}
|
||||
ll mypow(ll a, ll b) { ll ans = 1; while(b){ if (b&1) ans = (ans*a) ; b /= 2; a = (a*a); } return ans; }
|
||||
bool isPrime(ll n) { if(n <= 1) return false; for(ll i = 2; i <= sqrt(n); i++) if(n % i == 0) return false; return true; }
|
||||
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
void solve()
|
||||
{
|
||||
int l, r;
|
||||
cin >> l >> r;
|
||||
if ( r < 4)
|
||||
cout<< -1 << nl;
|
||||
else if(l==r)
|
||||
{
|
||||
if (isPrime(r))
|
||||
cout << -1 << nl;
|
||||
else if ( l % 2 == 0 )
|
||||
cout << 2 << " " << l-2 << nl;
|
||||
else
|
||||
{
|
||||
for(int i=3; i<=sqrt(r); ++i)
|
||||
{
|
||||
int j=l-i;
|
||||
if(gcd(i,j)!=1)
|
||||
{
|
||||
cout<<i<<" "<<j<<nl;
|
||||
return;
|
||||
}
|
||||
}
|
||||
cout<<-1<<nl;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if(r%2)
|
||||
cout<< 2 << " " << r-3 <<nl;
|
||||
else
|
||||
cout<< 2 << " "<< r-2 <<nl;
|
||||
}
|
||||
}
|
||||
|
||||
int main()
|
||||
{
|
||||
FAST_IO;
|
||||
int TC = 1;
|
||||
cin >> TC;
|
||||
while (TC--) solve();
|
||||
}
|
Loading…
Reference in New Issue
Block a user