Pagini recente » Cod sursa (job #1175599) | Cod sursa (job #1167784) | Cod sursa (job #2234169) | Cod sursa (job #38463) | Cod sursa (job #2506413)
#include <bits/stdc++.h>
#define ll long long
#define ld long double
#define pii pair <int,int>
#define mp make_pair
#define pb push_back
#define x first
#define y second
using namespace std;
const int Nmax = 2e5+5;
const ll MOD = 998244353;
int v[Nmax];
ll fct[Nmax];
template <class T, class U>
T lg_pow(T a, T n, U M){
T ans=1;
while(n){
if(n&1)
ans=(ans*a)%M;
n>>=1;
a=(a*a)%M;
}
return ans;
}
ll comb(int n, int k){
ll p1 = fct[n];
ll p2 = (fct[n - k] * fct[k]) % MOD;
return (p1 * lg_pow(p2, MOD - 2, MOD)) % MOD;
}
int main(){
/*ios_base :: sync_with_stdio(false);
cin.tie(nullptr);
mt19937 rng(chrono::steady_clock :: now().time_since_epoch().count());
uniform_int_distribution <int> _random(1,INT_MAX);
//freopen("x.in", "r", stdin);
//freopen("x.out", "w", stdout);
int n, k;
cin >> n >> k;
fct[0] = 1LL;
for(int i = 1; i <= n; ++i){
cin >> v[i];
fct[i] = (fct[i - 1] * i) % MOD;
}
if(k == 1){
cout << 0;
return 0;
}
vector <int> w;
for(int i = 1; i <= n; ++i){
if(v[i] != v[i % n + 1])
w.pb(v[i]);
}
ll ans = 0;
for(int i = 0; i < (int)w.size(); ++i){1
ll p1 = lg_pow(1LL * k - 2, 1LL * i, MOD);
ll p2 = comb((int)w.size(), i);
ll p3;
if(((int)w.size() - i) & 1)
p3 = lg_pow(2LL, 1LL * ((int)w.size() - i - 1), MOD);
else{
ll x = lg_pow(2LL, 1LL * ((int)w.size() - i), MOD);
ll y = comb((int)w.size() - i, ((int)w.size() - i) >> 1);
x = (x - y + MOD) % MOD;
p3 = (x * lg_pow(2LL, MOD - 2, MOD)) % MOD;
}
ll p = (((p1 * p2) % MOD) * p3) % MOD;
ans = (ans + p) % MOD;
}
ans = ans * lg_pow(k * 1LL, 1LL * (n - (int)w.size()), MOD) % MOD;
cout << ans;*/
freopen("adunare.un");
freopen("adunare.out");
cin >> a >> b;
cout << a + b;
return 0;
}