Submission details
Task:Laskutoimitus
Sender:Kuha
Submission time:2025-12-20 17:17:51 +0200
Language:C++ (C++17)
Status:READY
Result:30
Feedback
groupverdictscore
#1ACCEPTED5
#2ACCEPTED25
#30
#40
#50
#60
Test results
testverdicttimegroup
#1ACCEPTED0.00 s1, 2, 6details
#2ACCEPTED0.00 s1, 2, 6details
#3ACCEPTED0.00 s1, 2, 3, 4, 5, 6details
#4ACCEPTED0.04 s2, 6details
#5ACCEPTED0.07 s2, 6details
#6ACCEPTED0.08 s2, 3, 4, 5, 6details
#70.01 s6details
#80.01 s6details
#90.01 s3, 4, 5, 6details
#100.01 s4, 6details
#110.01 s4, 6details
#120.01 s5, 6details
#130.01 s5, 6details

Code

#include <bits/stdc++.h>

#define ll long long
#define M 1000000007

using namespace std;

int main() {
    cin.sync_with_stdio(false);
    cin.tie(0);
    string s;
    cin>>s;
    int n = s.length();
    if (n <= 5000) {
        ll ans = 0;
        for (int i = 0; i < n; i++) {
            ll val = 0;
            ll prod = 1;
            ll sum = 0;
            if (s[i] == '+' || s[i] == '*') continue;
            for (int j = i; j < n; j++) {
                if (s[j] == '+') {
                    prod *= val;
                    val = 0;
                    sum += prod;
                    sum %= M;
                    prod = 1;
                } else if (s[j] == '*') {
                    prod *= val;
                    prod %= M;
                    val = 0;
                } else {
                    val = 10 * val + (s[j] - '0');
                    val %= M;
                    ans += sum + prod * val;
                    ans %= M;
                }
            }
        }
        cout<<ans<<endl; 
    }
}

Test details

Test 1

Group: 1, 2, 6

Verdict: ACCEPTED

input
*3*7*5+67*2*7*12+38*4+9+2+1+45...

correct output
665527462

user output
665527462

Test 2

Group: 1, 2, 6

Verdict: ACCEPTED

input
84149523195388144+1*8*5*1722+5...

correct output
572374284

user output
572374284

Test 3

Group: 1, 2, 3, 4, 5, 6

Verdict: ACCEPTED

input
347358248955243114242997746491...

correct output
823495931

user output
823495931

Test 4

Group: 2, 6

Verdict: ACCEPTED

input
+4976829*6+5+9*21+4*889+6*7+4*...

correct output
503712700

user output
503712700

Test 5

Group: 2, 6

Verdict: ACCEPTED

input
862+83782+493135426+3152859674...

correct output
624304680

user output
624304680

Test 6

Group: 2, 3, 4, 5, 6

Verdict: ACCEPTED

input
297736662651354417265929591745...

correct output
625284593

user output
625284593

Test 7

Group: 6

Verdict:

input
+9+1+8+92*761+68*983*1+7*1+1*2...

correct output
947469815

user output
(empty)

Feedback: Output is shorter than expected

Test 8

Group: 6

Verdict:

input
97831833*7+4229897789494398634...

correct output
173934151

user output
(empty)

Feedback: Output is shorter than expected

Test 9

Group: 3, 4, 5, 6

Verdict:

input
777551563653223263644973172313...

correct output
278364064

user output
(empty)

Feedback: Output is shorter than expected

Test 10

Group: 4, 6

Verdict:

input
+481+4+66+2+26+7+5+97+6+4+3+14...

correct output
244847224

user output
(empty)

Feedback: Output is shorter than expected

Test 11

Group: 4, 6

Verdict:

input
+8858717+53+6927+314+742552843...

correct output
928369840

user output
(empty)

Feedback: Output is shorter than expected

Test 12

Group: 5, 6

Verdict:

input
*7*75*59*7*9*74*4*18211*31*1*7...

correct output
219382651

user output
(empty)

Feedback: Output is shorter than expected

Test 13

Group: 5, 6

Verdict:

input
73171*3438*9*34165158853*375*7...

correct output
451362612

user output
(empty)

Feedback: Output is shorter than expected