QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#317570#8170. $N^a (\log N)^b$ucup-team197#WA 1ms6600kbC++203.0kb2024-01-29 05:53:372024-01-29 05:53:38

Judging History

你现在查看的是最新测评结果

  • [2024-01-29 05:53:38]
  • 评测
  • 测评结果:WA
  • 用时:1ms
  • 内存:6600kb
  • [2024-01-29 05:53:37]
  • 提交

answer

#include <iostream>
#include <algorithm>
#include <stack>
#include <vector>
#include <cassert>

using namespace std;
typedef long long BigInt;
typedef long long ll;

struct Node{
    pair<BigInt, BigInt> plus_num, mult_num, active_num;
    bool log_node = false;

    Node(bool log_node = false){
        plus_num = mult_num = active_num = {0, 0};
        this->log_node = log_node;
    }
};

string s;

int main(){
    ios::sync_with_stdio(false);
    cin.tie(NULL);

    cin >> s;
    s += ")";

    stack<Node> st;
    st.push(Node());
    st.push(Node());

    BigInt curr_num = 0;
    bool exists_curr_num = false;
    bool is_n = false, is_log = false;
    for(int i = 0; i < s.size(); ++i){
        if(isdigit(s[i])){
            curr_num *= 10;
            curr_num += s[i] - '0';
            exists_curr_num = true;
            continue;
        }
        if(exists_curr_num){
            if(st.top().active_num == pair<BigInt, BigInt>{1, 0}){
                st.top().active_num = {curr_num, 0};
            }
            else if(st.top().active_num == pair<BigInt, BigInt>{0, 1}){
                st.top().active_num = {0, curr_num};
            }
            exists_curr_num = false;
            curr_num = 0;
        }
        if(s[i] == 'N'){
            st.top().active_num = {1, 0};
            continue;
        }
        if(s[i] == 'l'){
            st.push(Node(true));
            i += 3;
            continue;
        }
        if(s[i] == '('){
            st.push(Node());
            continue;
        }
        if(s[i] == '^'){
            continue;
        }
        if(s[i] == ')'){
            auto &t = st.top();
            t.mult_num.first += t.active_num.first;
            t.mult_num.second += t.active_num.second;
            t.plus_num = max(t.plus_num, t.mult_num);
            
            auto p_num = t.plus_num;
            if(t.log_node){
                if(p_num.first || p_num.second){
                    p_num = pair<BigInt, BigInt>{0, 1};
                }
                else{
                    p_num = pair<BigInt, BigInt>{0, 0};
                }
            }

            st.pop();
            st.top().active_num = p_num;
            continue;
        }
        if(s[i] == '+'){
            auto &t = st.top();
            t.mult_num.first += t.active_num.first;
            t.mult_num.second += t.active_num.second;
            t.active_num = pair<BigInt, BigInt>{0, 0};
            t.plus_num = max(t.plus_num, t.mult_num);
            t.mult_num = pair<BigInt, BigInt>{0, 0};
            continue;
        }
        if(s[i] == '*'){
            auto &t = st.top();
            t.mult_num.first += t.active_num.first;
            t.mult_num.second += t.active_num.second;
            t.active_num = pair<BigInt, BigInt>{0, 0};
            continue;
        }
    }

    assert(st.size() == 1);
    auto ans = st.top().active_num;
    cout << ans.first << " " << ans.second << "\n";
}

Details

Tip: Click on the bar to expand more detailed information

Test #1:

score: 100
Accepted
time: 0ms
memory: 3808kb

input:

N*log(N^2)*log(N)+N+log(N^1+N)^2*N

output:

1 2

result:

ok 2 tokens

Test #2:

score: 0
Accepted
time: 0ms
memory: 3584kb

input:

N*log(log(N))

output:

1 1

result:

ok 2 tokens

Test #3:

score: 0
Accepted
time: 0ms
memory: 3644kb

input:

(((N))*N^234567890+N^2)

output:

234567891 0

result:

ok 2 tokens

Test #4:

score: 0
Accepted
time: 1ms
memory: 3780kb

input:

log(N)+log(N)+log(N)+log(N)+log(N)+log(N)+log(N)+log(N)+log(N)+log(N)+log(N)+log(N)+log(N)+log(N)+log(N)+log(N)+log(N)+log(N)+log(N)+log(N)+log(N)+log(N)+log(N)+log(N)+log(N)+log(N)+log(N)+log(N)+log(N)+log(N)+log(N)+log(N)+log(N)+log(N)+log(N)+log(N)+log(N)+log(N)+log(N)+log(N)+log(N)+log(N)+log(N)...

output:

0 1

result:

ok 2 tokens

Test #5:

score: 0
Accepted
time: 1ms
memory: 3712kb

input:

log(N)*log(N)*log(N)*log(N)*log(N)*log(N)*log(N)*log(N)*log(N)*log(N)*log(N)*log(N)*log(N)*log(N)*log(N)*log(N)*log(N)*log(N)*log(N)*log(N)*log(N)*log(N)*log(N)*log(N)*log(N)*log(N)*log(N)*log(N)*log(N)*log(N)*log(N)*log(N)*log(N)*log(N)*log(N)*log(N)*log(N)*log(N)*log(N)*log(N)*log(N)*log(N)*log(N)...

output:

0 14285

result:

ok 2 tokens

Test #6:

score: 0
Accepted
time: 1ms
memory: 4828kb

input:

log(log(log(log(log(log(log(log(log(log(log(log(log(log(log(log(log(log(log(log(log(log(log(log(log(log(log(log(log(log(log(log(log(log(log(log(log(log(log(log(log(log(log(log(log(log(log(log(log(log(log(log(log(log(log(log(log(log(log(log(log(log(log(log(log(log(log(log(log(log(log(log(log(log(log(...

output:

0 1

result:

ok 2 tokens

Test #7:

score: 0
Accepted
time: 0ms
memory: 6600kb

input:

((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((...

output:

0 1

result:

ok 2 tokens

Test #8:

score: 0
Accepted
time: 1ms
memory: 3780kb

input:

log(log(N^39187693)^548521633+log(log(N*N^2+N*N^71962925)+log(N*N+N)*log(N+N)+log((log(log(N)^8))*log(log(N*N*N))))*log((N+log(N)*N+N*log(N)^958544341))^978444210)+log((log(N)^573073630)*log(log(N)^857299008)*(N+N^3+log(N))*log(N)+log(log(N^5943+((N*N)*N^3371597)+N*N*(N)*N^3732602)^195356379)^910014...

output:

0 706139983

result:

ok 2 tokens

Test #9:

score: 0
Accepted
time: 1ms
memory: 3716kb

input:

(log((N*log(log(log(N+N))+N*N+log(N*N*log(N)*N+N^88)*(log(N^39775+(N*N*N^39+(log((N^3509)))))^223188793))^106803375*(N*N*N*(N+N)*N^60976)*(log(log(N*N^8*(N*N)+N^4)+log(N)^87804)*log(log((N+N+N^63*N^49+N)+N)*log(N^24556108*log(N^28*(N)+log(N*N+(N)+log(N)^743*N))+N^86041+(N^276*(N+N+((N)))*log(N+N)^75...

output:

0 242619919

result:

ok 2 tokens

Test #10:

score: 0
Accepted
time: 1ms
memory: 3744kb

input:

log(log((((N)*N^60+(N+(N)*N))*N+(N+N)*log((log(N+log(N)^5)^99743452*(N*N*(N)*log(N)^849510749)))*log(N*N^13087+N)+log((N^1000000000*log(N)*N^388)*log(N*N^647*N*log((N^7)+N*N^445)+N)^908094458)^225370592+log((N+N^7467+log(N)^8852684)*log(((N)*N*log(N)^996)))^829473139+log(log((N*N)+N)^683248757*N^385...

output:

2474266 1883498746

result:

ok 2 tokens

Test #11:

score: 0
Accepted
time: 1ms
memory: 3744kb

input:

log(((log(log(log(log(log(log(N)^7)+N^80)*log(log(N+N+(N)+(N)+(N*N+log(N)*log((log(N*N))))*N^2*(log(log(log(N))^921759665)*(N*N)*(N^1)))*log(N+N*(N^409*(log(N+N*N)))*N^6))*(((N^9*N)*log((N+N*N)+N*log(N)^1+((N)*(N*(N+N)+N*N+(N)))))+log(log(log(log(N+N)^831866480)*log((N^633*log(log(N^323*(N))*N^5))*(...

output:

0 2

result:

ok 2 tokens

Test #12:

score: 0
Accepted
time: 0ms
memory: 3976kb

input:

(log(log((((log(log(log((N+N))^413593551)*(((N+N)*N*N*log((N)+N)))+(log(N+N+N+N*N^3+N)^336010059+N*N*log(N*N+N^19033)^825819051*log(N*(N)))+log(N+N+(N)*N*N^851241117*(log(N)^957547))^183676983)*(log((log(N*log(N)^5144*log((N*log((N)+log(N)^554955)))^426823799)^606862955*(((N)+N+N)+N^3)*((((N+log(log...

output:

0 561436137

result:

ok 2 tokens

Test #13:

score: 0
Accepted
time: 1ms
memory: 3696kb

input:

(log((log(log(log((log(N*N*N*(N))))+N+N*N*log(N^100065+N*(N*N)*N^8))^28051665*(log((log((N^4))*N^8)+log(N^458805*N^8+log(N))*log(N)^49+N*N*log(log(N)^75)^897477606)*log(log(log((log(N+log(log(N*N+N*N*N^40624)^262653064)+(N)))+log(N*N+log(N)^78*log(N+N^92+N^8)^396587715)^481112334*log(N+N*N*N+(N+N))^...

output:

1000000076 766522984

result:

ok 2 tokens

Test #14:

score: 0
Accepted
time: 1ms
memory: 3772kb

input:

log(log(log(N)))*(log(((log(N^1000000000+(N^62*N+N*N+log(N)^607183547)*(N*N+N^1000000000+N+N^1570*(N)))*log(N)^903326716*log((N)+log(N))*N^54+(log(log(N*N*N)^750819338)^635614262*log(log(N)*log(N)^490211+N^5+log(N)*N^14866)+log((N^4868))*((N)*(N+N*N^34+N))*log(log((((N+N))*log(N*N+N)^746670308))^987...

output:

0 519078288

result:

ok 2 tokens

Test #15:

score: 0
Accepted
time: 1ms
memory: 3712kb

input:

log(log(log(N)))*(log((log(N*(N*N)+N^96*N^5693*log((N+N+N*N+(N)))^953334725*(N*log(N)^485*log(log(N)^870*N)^906727886)*(log(N*N^82618772*log(N)^8*N)^219169093)*(log(N*N+N)^828072340)+(log(log((log(log((log(log(N)^240108*(N+N+N))^293692287+N*log(N+N*N)*log(N)^190624085)+log((N+N+(N)*N*log(N))*(N+N)*l...

output:

2 2

result:

ok 2 tokens

Test #16:

score: 0
Accepted
time: 1ms
memory: 3940kb

input:

log(log(log(N)))*((log(log(log(((log(N+N+N*N)^530184323*log(N))+log(N^627*(N*log(N)^427))))^126175816+log((N*N)+N)+log(log(N+(N)*(N+N)))+N^91796919*(log(log(N)^749818177+log(log(N*N+N+(N+N))+N*N)))+log(log(log(N*(log(N)^4480*N^99506943))*log(N+((N+N))*N))+N*N^2353*N^8))^212809542*log((N*N^65*(log(lo...

output:

0 915940921

result:

ok 2 tokens

Test #17:

score: 0
Accepted
time: 1ms
memory: 3716kb

input:

log(log(log(N)))*(((log(N+(log(N)+N*(N))*log(N+N))^798474828*(N*N+N*(N)+N)*log(N+N*N+log(N+N^62883435+N)+(N+N)*(N)*N^83877)+log(log(N)^56678*log((log(N*log(N)+N^29)^98989911))^527370914*log((log(N)^26883189)+log(N^7+N+N+N^996405+log(N*(N)*log(N))^33517755)+log(N+N+N))+log(N^373*(N)*log(N+N)^56626574...

output:

593433204 118198369

result:

ok 2 tokens

Test #18:

score: -100
Wrong Answer
time: 0ms
memory: 3740kb

input:

log(log(N))^838581491*log(log(log(N)))^771838880*log(log(log(N)))^984794424*N^143685367*N^670902660*N^308600390*log(log(log(N)))^487833964*log(log(log(N)))^19986435*N^798013837*N^453144760*N^394168537*log(log(log(N)))^546955039*N^898890660*N^682322117*N^889322557*N^407917496*N^221994691*N^224405173*...

output:

679935528138 670014898176

result:

wrong answer 2nd words differ - expected: '1', found: '670014898176'