Skip to content

Commit bebfba1

Browse files
authored
Merge branch 'main' into main
2 parents 0d15abd + 1ed8e19 commit bebfba1

4 files changed

Lines changed: 331 additions & 1 deletion

File tree

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
//adding submission link as suggested earlier
2+
//https://codeforces.com/problemset/submission/1560/355167404
3+
4+
#include <bits/stdc++.h>
5+
using namespace std;
6+
7+
int main() {
8+
int t;
9+
cin >> t;
10+
while(t--) {
11+
int a,b,c;
12+
cin>>a>>b>>c;
13+
if((abs(b-a))*2<max(a,max(b,c))){
14+
cout << -1 <<'\n';
15+
continue;
16+
}
17+
if(c+(abs(b-a))>(abs(b-a)*2)){
18+
cout<<(c+(abs(b-a)))%(abs(b-a)*2)<<'\n';
19+
}
20+
else{
21+
cout<<c+(abs(b-a))<<'\n';
22+
}
23+
}
24+
25+
return 0;
26+
}
Lines changed: 191 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,191 @@
1+
//https://codeforces.com/contest/1560/submission/355167905
2+
#include <bits/stdc++.h>
3+
using namespace std;
4+
5+
#define int long long
6+
#define ll long long
7+
#define ull unsigned long long
8+
#define ld long double
9+
#define pii pair<int,int>
10+
#define vi vector<int>
11+
#define vvi vector<vector<int>>
12+
#define vpi vector<pair<int,int>>
13+
#define all(x) (x).begin(), (x).end()
14+
15+
16+
const long long MAXN = 2e6;
17+
const long long MOD = 1e9 + 7;
18+
const int INF = 1e18;
19+
const ld EPS = 1e-9;
20+
21+
22+
#define fastio ios::sync_with_stdio(false); cin.tie(nullptr);
23+
24+
#ifndef ONLINE_JUDGE
25+
#define debug(x) cerr << #x << " = " << x << "\n";
26+
#else
27+
#define debug(x)
28+
#endif
29+
30+
// Utility functions
31+
int gcd(int a, int b) { return b ? gcd(b, a % b) : a; }
32+
int lcm(int a, int b) { return a / gcd(a, b) * b; }
33+
int mod_add(int a, int b, int m=MOD) { return ((a % m) + (b % m) + m) % m; }
34+
int mod_sub(int a, int b, int m=MOD) { return ((a % m) - (b % m) + m) % m; }
35+
int mod_mul(int a, int b, int m=MOD) { return ((a % m) * (b % m)) % m; }
36+
37+
//Binary Exponentiation
38+
int binexp(int a, int b, int m=MOD) {
39+
int res = 1;
40+
a %= m;
41+
while(b > 0) {
42+
if(b & 1) res = (res * a) % m;
43+
a = (a * a) % m;
44+
b >>= 1;
45+
}
46+
return res;
47+
}
48+
49+
int mod_inv(int a, int m=MOD) {
50+
return binexp(a, m - 2, m);
51+
}
52+
53+
long long fac[MAXN + 1];
54+
long long inv[MAXN + 1];
55+
56+
long long exp(long long x, long long n, long long m) {
57+
x %= m;
58+
long long res = 1;
59+
while (n > 0) {
60+
if (n % 2 == 1) { res = res * x % m; }
61+
x = x * x % m;
62+
n /= 2;
63+
}
64+
return res;
65+
}
66+
67+
void factorial() {
68+
fac[0] = 1;
69+
for (long long i = 1; i <= MAXN; i++) { fac[i] = fac[i - 1] * i % MOD; }
70+
}
71+
72+
void inverses() {
73+
inv[MAXN] = exp(fac[MAXN], MOD - 2, MOD);
74+
for (long long i = MAXN; i >= 1; i--) { inv[i - 1] = inv[i] * i % MOD; }
75+
}
76+
77+
long long choose(long long n, long long r) {
78+
if (r > n)return 0ll;
79+
return (fac[n] * inv[r] % MOD * inv[n - r] % MOD) % MOD;
80+
}
81+
82+
long long catalan(long long n) {
83+
return (exp(n + 1, MOD - 2, MOD) % MOD * choose(2 * n, n) % MOD) % MOD;
84+
}
85+
86+
//Returns all prime numbers <=N
87+
vector<int> sieve(int n) {
88+
vector<bool> prime(n + 1, true);
89+
for (int p=2;p*p<=n;p++) {
90+
if (prime[p] == true) {
91+
92+
for (int i=p*p;i<=n;i+=p)
93+
prime[i] = false;
94+
}
95+
}
96+
97+
vector<int> res;
98+
for (int p = 2; p <= n; p++){
99+
if (prime[p]){
100+
res.push_back(p);
101+
}
102+
}
103+
return res;
104+
}
105+
106+
//Prime factors of all numbers upto N
107+
vector<vector<int>> primefactors(int N)
108+
{
109+
vvi pfac(N + 1);
110+
for (int i=2;i<=N;i++){
111+
if (!pfac[i].empty())
112+
continue;
113+
114+
for (int j = i; j <= N; j += i)
115+
pfac[j].push_back(i);
116+
}
117+
118+
return pfac;
119+
}
120+
121+
//smallest prime factor of a number
122+
int spf(int n) {
123+
if (n % 2 == 0) return 2;
124+
for (int i = 3; i * i <= n; i += 2) {
125+
if (n % i == 0) return i;
126+
}
127+
return n;
128+
}
129+
130+
int power2(int p)
131+
{
132+
int v=1ll<<p;
133+
return v;
134+
}
135+
136+
//Sort functions
137+
138+
void sort(vector<int>&a)
139+
{
140+
sort(a.begin(),a.end());
141+
}
142+
143+
void psort(vector<pair<int,int>>&a)
144+
{
145+
sort(a.begin(),a.end());
146+
}
147+
148+
void rsort(vector<int>&a)
149+
{
150+
sort(a.rbegin(),a.rend());
151+
}
152+
153+
void rpsort(vector<pair<int,int>>&a)
154+
{
155+
sort(a.rbegin(),a.rend());
156+
}
157+
158+
//2-D Vector Declaration:
159+
//vvi mat(n,vi(m)); // nxm matrix, all initialized to 0
160+
161+
162+
/***************Code***************/
163+
164+
void solve() {
165+
166+
int a,b,c;
167+
cin>>a>>b>>c;
168+
169+
int diff=abs(a-b);
170+
int p=2*diff;
171+
if(a<=p&&b<=p&&c<=p)
172+
{
173+
if(c>diff)
174+
cout<<c-diff<<endl;
175+
else
176+
cout<<c+diff<<endl;
177+
}
178+
else
179+
cout<<"-1"<<endl;
180+
}
181+
182+
183+
signed main() {
184+
fastio;
185+
int t = 1;
186+
cin >> t;
187+
while (t--) {
188+
solve();
189+
}
190+
return 0;
191+
}
Lines changed: 107 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,107 @@
1+
/*
2+
Problem Statement:
3+
You are given an integer n and an integer k (k ≥ 2), along with an array of n
4+
positive integers.
5+
6+
Your task is to count the number of unordered index pairs (i, j) such that:
7+
1 ≤ i < j ≤ n
8+
The product ai × aj is a perfect k-th power.
9+
10+
---------------------------------------
11+
Approach:
12+
A number is a perfect k-th power if, in its prime factorization,
13+
the exponent of every prime is divisible by k.
14+
15+
For each number:
16+
1. Factorize it using smallest prime factor (SPF).
17+
2. Reduce each prime’s exponent modulo k.
18+
3. Store this reduced form as a "signature".
19+
20+
For a pair (ai, aj) to form a perfect k-th power:
21+
- Their signatures must complement each other such that
22+
the sum of exponents (mod k) becomes 0 for every prime.
23+
24+
---------------------------------------
25+
Time Complexity:
26+
O(n log a)
27+
28+
Space Complexity:
29+
O(n)
30+
---------------------------------------
31+
*/
32+
/*---------Problem link--------------------
33+
https://codeforces.com/problemset/status?my=on
34+
*/
35+
36+
import java.util.*;
37+
38+
public class Solution2 {
39+
40+
static int MAX = 100000;
41+
static int[] spf = new int[MAX + 1];
42+
43+
// Precompute smallest prime factor for every number
44+
static void computeSPF() {
45+
for (int i = 1; i <= MAX; i++)
46+
spf[i] = i;
47+
48+
for (int i = 2; i * i <= MAX; i++) {
49+
if (spf[i] == i) {
50+
for (int j = i * i; j <= MAX; j += i) {
51+
if (spf[j] == j)
52+
spf[j] = i;
53+
}
54+
}
55+
}
56+
}
57+
58+
// Build reduced prime-exponent signature
59+
static Map<Integer, Integer> buildSignature(int x, int k) {
60+
Map<Integer, Integer> map = new HashMap<>();
61+
while (x > 1) {
62+
int p = spf[x];
63+
int cnt = 0;
64+
while (x % p == 0) {
65+
x /= p;
66+
cnt++;
67+
}
68+
cnt %= k;
69+
if (cnt > 0)
70+
map.put(p, cnt);
71+
}
72+
return map;
73+
}
74+
75+
// Build complement signature
76+
static Map<Integer, Integer> buildComplement(Map<Integer, Integer> sig, int k) {
77+
Map<Integer, Integer> comp = new HashMap<>();
78+
for (Map.Entry<Integer, Integer> e : sig.entrySet()) {
79+
comp.put(e.getKey(), (k - e.getValue()) % k);
80+
}
81+
return comp;
82+
}
83+
84+
public static void main(String[] args) {
85+
Scanner sc = new Scanner(System.in);
86+
computeSPF();
87+
88+
int n = sc.nextInt();
89+
int k = sc.nextInt();
90+
91+
Map<Map<Integer, Integer>, Long> freq = new HashMap<>();
92+
long ans = 0;
93+
94+
for (int i = 0; i < n; i++) {
95+
int x = sc.nextInt();
96+
97+
Map<Integer, Integer> sig = buildSignature(x, k);
98+
Map<Integer, Integer> comp = buildComplement(sig, k);
99+
100+
ans += freq.getOrDefault(comp, 0L);
101+
freq.put(sig, freq.getOrDefault(sig, 0L) + 1);
102+
}
103+
104+
System.out.println(ans);
105+
sc.close();
106+
}
107+
}

contributers.md

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
12
| Name | GitHub ID | College Name |
23
|------------------------|-------------------------|------------------------------------------------------------------|
34
| Pradip Maity | @codeboy-pro | Haldia Institute Of Technology |
@@ -36,9 +37,14 @@
3637
| Siddhant Shekhar | sshekhar563 | United University |
3738
| Ayush Saha | verifiedHuman18 | IIIT Allahabad |
3839
| Khushi Shorey | khushishorey | IIIT Allahabad |
40+
| Nitin Kumar | Nitinkr03 | IIIT Allahabad
3941
| Manisha katariya | chanchukatariya5 | IIIT Allahabad |
42+
| Abhigyan Tiwari | Abh-igyan | NIT Silchar |
43+
| Harsh Verma | harshverma14 | IIIT Allahabad |
44+
| Ayush Mishra | ayush-mg | IIIT Allahabad |
45+
| Ronak Goyal | ronakgoyal1 | IIIT Allahabad |
4046
| Sayed Al Amaan Zaidi | amaan1114 | Rishihood University |
4147
| Somesh Pawan Kamad | Entropy-rgb | IIIT Hyderabad |
42-
48+
| Roshan Gupta | roshangupta4804-hue | IIIT Allahabad
4349
<!-- ADD ABOVE THIS -->
4450
<!-- example | Korvac | Betty | Reyansh College | -->

0 commit comments

Comments
 (0)