求助,请问为什么我本地都是对的,交上去除了最后一个点全部WA?
查看原帖
求助,请问为什么我本地都是对的,交上去除了最后一个点全部WA?
212606
youlan楼主2021/7/20 16:51
#include <iostream>
#include <stdio.h>

using namespace std;

long P = 998244353;

int main()
{
    cin.tie(0);
    cin.sync_with_stdio(false);
    int p[100004] = {0}, t[100004] = {0};
    long long ans=0;
    int n=0;
    char op;
    long long st=0, m=1; //最小t,总乘积
    long long spp=0, snp=0; //所有正,负加的和
    int v;
    cin>>n;
    for(int i=0;i<n;i++)
    {
        cin>>op>>v;
        if(op=='+')
        {
            if(v>0) spp+=v;
            else snp += v;
        }
        else if(op=='*')
        {
            if(v<st) st=v;
            m *= v;
        }
    }

    if(m<0) ans = (snp*st + spp) * m / st;
    if(m>0)
    {
        if(st<0)
        {
            if(st<0) ans = (spp*st+snp)*m/st;
        }
        else ans = spp*m + snp;
    }
    if(m==0) ans=snp+spp;
    cout<<(ans % P + P) % P;
    return 0;
}
2021/7/20 16:51
加载中...