Plz help everybody
Difference between en2 and en3, changed 3543 character(s)
Your title here...↵
------------------↵

hi I got msgs from system that my solutions matches with some other people I was very curious so I check my solution and a solution of person from which my solution match according to system his user was byteplay_studios ↵

his solution for C problem in edu round 174 ↵

#include <iostream>↵
#include <vector>↵
using namespace std;↵
 ↵
const int MOD = 998244353;↵
 ↵
int main(){↵
    ios::sync_with_stdio(false);↵
    cin.tie(nullptr);↵
 ↵
    int t;↵
    cin >> t;↵
    ↵
   ↵
    int maxExp = 200000 + 5;↵
    vector<int> pow2(maxExp + 1, 0), inv2(maxExp + 1, 0);↵
    pow2[0] = 1;↵
    for (int i = 1; i <= maxExp; i++){↵
        long long tmp = (long long) pow2[i - 1] * 2;↵
        tmp %= MOD;↵
        pow2[i] = (int) tmp;↵
    }↵
    ↵
    inv2[0] = 1;↵
    const int invTwo = 499122177;↵
    for (int i = 1; i <= maxExp; i++){↵
        long long tmp = (long long) inv2[i - 1] * invTwo;↵
        tmp %= MOD;↵
        inv2[i] = (int) tmp;↵
    }↵
    ↵
    while(t--){↵
        int n;↵
        cin >> n;↵
        vector<int> a(n + 1);↵
        for (int i = 1; i <= n; i++){↵
            cin >> a[i];↵
        }↵
 ↵
       ↵
        vector<int> P(n + 1, 0);↵
        for (int i = 1; i <= n; i++){↵
            P[i] = P[i - 1] + (a[i] == 2);↵
        }↵
 ↵
    ↵
        vector<int> suff(n + 2, 0);↵
        for (int i = n; i >= 1; i--){↵
            int addVal = 0;↵
            if(a[i] == 3){↵
                addVal = pow2[P[i - 1]];↵
            }↵
            suff[i] = (suff[i + 1] + addVal) % MOD;↵
        }↵
 ↵
       ↵
        vector<int> suffCount3(n + 2, 0);↵
        for (int i = n; i >= 1; i--){↵
            suffCount3[i] = suffCount3[i + 1] + (a[i] == 3);↵
        }↵
 ↵
        long long ans = 0;↵
    ↵
        for (int i = 1; i <= n; i++){↵
            if(a[i] == 1){↵
                long long contribution = ((long long) suff[i + 1] * inv2[P[i]]) % MOD;↵
                contribution = (contribution - suffCount3[i + 1]) % MOD;↵
                if(contribution < 0)↵
                    contribution += MOD;↵
                ans = (ans + contribution) % MOD;↵
            }↵
        }↵
 ↵
        cout << ans % MOD << "\n";↵
    }↵
    return 0;↵
}↵

My solution ↵

#include <iostream>↵
#include <vector>↵
using namespace std;↵
 ↵
const int M = 998244353;↵
const int MX = 200005;↵
 ↵
int main() {↵
    ios::sync_with_stdio(false);↵
    cin.tie(nullptr);↵
    ↵
    int t;↵
    cin >> t;↵
    ↵
    vector<long long> p(MX);↵
    vector<long long> ip(MX);↵
    ↵
    p[0] = 1;↵
    for (int i = 1; i < MX; i++) {↵
        p[i] = (p[i - 1] * 2LL) % M;↵
    }↵
    ↵
    const long long v = 499122177;↵
    ip[0] = 1;↵
    for (int i = 1; i < MX; i++) {↵
        ip[i] = (ip[i - 1] * v) % M;↵
    }↵
    ↵
    while (t--) {↵
        int n;↵
        cin >> n;↵
        vector<int> a(n);↵
        ↵
        for (int i = 0; i < n; i++) {↵
            cin >> a[i];↵
        }↵
        ↵
        long long r = 0;↵
        long long s = 0;↵
        int o = 0;↵
        int w = 0;↵
        ↵
        for (int i = 0; i < n; i++) {↵
            if (a[i] == 1) {↵
                s = (s + ip[w]) % M;↵
                o++;↵
            } ↵
            else if (a[i] == 2) {↵
                w++;↵
            }↵
            else if (a[i] == 3) {↵
                long long c = ((p[w] * s) % M - o) % M;↵
                if (c < 0) {↵
                    c += M;↵
                }↵
                r = (r + c) % M;↵
            }↵
        }↵
        ↵
        cout << r << "\n";↵
    }↵
    ↵
    return 0;↵
}↵

I think this is a bug or smt I want to say to [user:MikeMirzayanov,2025-02-24] plz reconsider the system desicion thsm
[user:MikeMirzayanov]hi Mike I got a msg from system that my solution matches with other people but when I check my solution it doesn't match at all from the person mention in the msg my submission [submission:306715085] his submission:[submission:306693438] thanks

History

 
 
 
 
Revisions
 
 
  Rev. Lang. By When Δ Comment
en3 English acoderforfun 2025-02-24 18:35:23 3543
en2 English acoderforfun 2025-02-24 18:17:29 16 Tiny change: 'r:MikeMirzuhanov]plz recons' -> 'r:MikeMirzayanov] plz recons'
en1 English acoderforfun 2025-02-24 18:13:24 3694 Initial revision (published)