Problem mit der modularen Subtraktion beim Lösen einer CP-Frage
Posted: 07 Jan 2025, 12:46
Ich versuche, dieses https://codeforces.com/problemset/problem/2035/D Codeforces-Problem zu lösen. Ich verstehe die Logik und Implementierung, aber ich vermute, dass ich bei der modularen Arithmetik durchgefallen bin. Hier ist mein Code:
Code: Select all
ll modAdd(ll a, ll b, ll mod) {
return (a % mod + b % mod) % mod;
}
ll modSub(ll a, ll b, ll mod) {
return ((a - b)%mod + mod) % mod; // Adding mod ensures non-negative result
}
// Function for modular multiplication
ll modMul(ll a, ll b, ll mod) {
return (1LL * (a % mod) * (b % mod)) % mod; // 1LL ensures no overflow for large numbers
}
// Function for modular exponentiation
ll modExp(ll base, ll exp, ll mod) {
ll result = 1;
base = base % mod;
while (exp > 0) {
if (exp % 2 == 1) {
result = modMul(result, base, mod);
}
base = modMul(base, base, mod);
exp /= 2;
}
return result;
}
class Compare {
public:
bool operator()(pair below, pair above)
{
return below.first > above.first;
}
};
void solve() {
ll n;
cin>>n;
vector v(n);
for(ll i = 0; i>v[i];
priority_queue
, vector, Compare> pq;
ll sum = 0;
vector ans;
for(ll i = 0; i