Submission details
Task:Laskutoimitus
Sender:Kuha
Submission time:2025-12-20 17:22:17 +0200
Language:C++ (C++17)
Status:READY
Result:40
Feedback
groupverdictscore
#1ACCEPTED5
#2ACCEPTED25
#3ACCEPTED10
#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.03 s6details
#80.03 s6details
#9ACCEPTED0.03 s3, 4, 5, 6details
#100.03 s4, 6details
#110.03 s4, 6details
#120.03 s5, 6details
#130.03 s5, 6details

Code

#include <bits/stdc++.h>

#define ll long long
#define M 1000000007

using namespace std;

ll pot[1111111];

int main() {
    cin.sync_with_stdio(false);
    cin.tie(0);
    string s;
    cin>>s;
    pot[0] = 1;
    int n = s.length();
    for (int i = 1; i <= n; i++) {
        pot[i] = (10 * pot[i - 1]) % M;
    }
    for (int i = 1; i <= n; i++) {
        pot[i] += pot[i - 1];
        pot[i] %= M;
    }
    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;
    } else {
        ll ans = 0;
        for (int i = 0; i < n; i++) {
            ans += (i + 1) * (s[i] - '0') * pot[n - i - 1];
            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
241114942

Feedback: Incorrect character on line 1 col 1: expected "947469815", got "241114942"

Test 8

Group: 6

Verdict:

input
97831833*7+4229897789494398634...

correct output
173934151

user output
523279361

Feedback: Incorrect character on line 1 col 1: expected "173934151", got "523279361"

Test 9

Group: 3, 4, 5, 6

Verdict: ACCEPTED

input
777551563653223263644973172313...

correct output
278364064

user output
278364064

Test 10

Group: 4, 6

Verdict:

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

correct output
244847224

user output
357021157

Feedback: Incorrect character on line 1 col 1: expected "244847224", got "357021157"

Test 11

Group: 4, 6

Verdict:

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

correct output
928369840

user output
287578221

Feedback: Incorrect character on line 1 col 1: expected "928369840", got "287578221"

Test 12

Group: 5, 6

Verdict:

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

correct output
219382651

user output
360149878

Feedback: Incorrect character on line 1 col 1: expected "219382651", got "360149878"

Test 13

Group: 5, 6

Verdict:

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

correct output
451362612

user output
782242479

Feedback: Incorrect character on line 1 col 1: expected "451362612", got "782242479"