1876B - Effects of Anti Pimples - CodeForces Solution


combinatorics number theory sortings

Please click on ads to support us..

C++ Code:

#include <bits/stdc++.h>
using namespace std;
#define int long long
const int N = 1e5+37;
int mod = 998244353;

signed main(){
    ios_base::sync_with_stdio(false);
    cin.tie(0); 

    int n; cin >> n;

    vector<int> a(n);
    vector<int> b((int)1e5+37, 0);

    for(auto &i: a) cin >> i;

    for(int i=0; i<n; i++){
        int ma = a[i];
        for(int l=i; l<n; l+=(i+1)){
            ma=max(ma, a[l]);
        }

        b[ma]++;
    }
    vector<int> p(n+5);
    p[0]=1;

    for(int i=1; i<n+5; i++){
        p[i] = p[i-1]*2;
        p[i] %= mod;
    }

    int el=1, ans = 0;
    for(int i=0; i<1e5+37; i++){
        if(i!=0)
        b[i]+=b[i-1];   

        b[i]%=mod;

        int val = p[b[i]]-((i==0)?0:p[b[i-1]]);
        val %= mod; val+= mod; val%=mod;

        ans+=(val*i)%mod;
        ans %= mod;

      //  cout << val << "\n";
    }

    cout << ans;

}


Comments

Submit
0 Comments
More Questions

1706A - Another String Minimization Problem
1695B - Circle Game
1702B - Polycarp Writes a String from Memory
1701A - Grass Field
489C - Given Length and Sum of Digits
886B - Vlad and Cafes
915A - Garden
356A - Knight Tournament
1330A - Dreamoon and Ranking Collection
1692B - All Distinct
1156C - Match Points
1675A - Food for Animals
1328C - Ternary XOR
1689A - Lex String
1708B - Difference of GCDs
863A - Quasi-palindrome
1478A - Nezzar and Colorful Balls
1581B - Diameter of Graph
404A - Valera and X
908A - New Year and Counting Cards
146A - Lucky Ticket
1594C - Make Them Equal
1676A - Lucky
1700B - Palindromic Numbers
702C - Cellular Network
1672C - Unequal Array
1706C - Qpwoeirut And The City
1697A - Parkway Walk
1505B - DMCA
478B - Random Teams