| Task: | Laskutoimitus |
| Sender: | Sisuaski |
| Submission time: | 2025-12-20 18:10:40 +0200 |
| Language: | C++ (C++20) |
| Status: | READY |
| Result: | 100 |
| group | verdict | score |
|---|---|---|
| #1 | ACCEPTED | 5 |
| #2 | ACCEPTED | 25 |
| #3 | ACCEPTED | 10 |
| #4 | ACCEPTED | 10 |
| #5 | ACCEPTED | 10 |
| #6 | ACCEPTED | 40 |
| test | verdict | time | group | |
|---|---|---|---|---|
| #1 | ACCEPTED | 0.00 s | 1, 2, 6 | details |
| #2 | ACCEPTED | 0.00 s | 1, 2, 6 | details |
| #3 | ACCEPTED | 0.00 s | 1, 2, 3, 4, 5, 6 | details |
| #4 | ACCEPTED | 0.00 s | 2, 6 | details |
| #5 | ACCEPTED | 0.00 s | 2, 6 | details |
| #6 | ACCEPTED | 0.00 s | 2, 3, 4, 5, 6 | details |
| #7 | ACCEPTED | 0.04 s | 6 | details |
| #8 | ACCEPTED | 0.04 s | 6 | details |
| #9 | ACCEPTED | 0.04 s | 3, 4, 5, 6 | details |
| #10 | ACCEPTED | 0.04 s | 4, 6 | details |
| #11 | ACCEPTED | 0.04 s | 4, 6 | details |
| #12 | ACCEPTED | 0.04 s | 5, 6 | details |
| #13 | ACCEPTED | 0.04 s | 5, 6 | details |
Code
#include <iostream>
using namespace std;
typedef long long ll;
const int Z = 1e9+7;
int main() {
string s;cin>>s;
ll asum = 0;
ll bsum = 0;
ll bval = 1;
ll csum = 0;
ll cval = 0;
int ac = 0;
int bc = 0;
int cc = 0;
ll res=0;
for(char c: s) {
if (c=='*' || c=='+') {
bval *= cval;
bval %= Z;
bsum = csum + cval * bsum;
bsum %= Z;
bc += cc;
cc = 0;
csum = 0;
cval = 0;
if (c=='+') {
//cout<<"+ "<<asum<<' '<<bsum<<' '<<bval<<'\n';
asum = bsum + bval * ac + asum;
asum %= Z;
bsum = 0;
bval = 1;
ac += bc;
bc = 0;
}
}
if (c!='+' && c!='*') {
int d = c-'0';
csum = 10*csum + (cc+1)*d;
csum %= Z;
cval = 10*cval + d;
cval %= Z;
cc++;
//cout<<"csum "<<csum<<' '<<cval<<" ; "<<ac<<' '<<asum<<'\n';
//cout<<"parts: "<<csum<<' '<<cval*bsum<<' '<<cval*bval*ac<<"+"<<asum<<'\n';
res += csum + cval * bsum + cval * bval%Z * ac + asum;
res %= Z;
}
}
cout<<res<<'\n';
}
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: ACCEPTED
| input |
|---|
| +9+1+8+92*761+68*983*1+7*1+1*2... |
| correct output |
|---|
| 947469815 |
| user output |
|---|
| 947469815 |
Test 8
Group: 6
Verdict: ACCEPTED
| input |
|---|
| 97831833*7+4229897789494398634... |
| correct output |
|---|
| 173934151 |
| user output |
|---|
| 173934151 |
Test 9
Group: 3, 4, 5, 6
Verdict: ACCEPTED
| input |
|---|
| 777551563653223263644973172313... |
| correct output |
|---|
| 278364064 |
| user output |
|---|
| 278364064 |
Test 10
Group: 4, 6
Verdict: ACCEPTED
| input |
|---|
| +481+4+66+2+26+7+5+97+6+4+3+14... |
| correct output |
|---|
| 244847224 |
| user output |
|---|
| 244847224 |
Test 11
Group: 4, 6
Verdict: ACCEPTED
| input |
|---|
| +8858717+53+6927+314+742552843... |
| correct output |
|---|
| 928369840 |
| user output |
|---|
| 928369840 |
Test 12
Group: 5, 6
Verdict: ACCEPTED
| input |
|---|
| *7*75*59*7*9*74*4*18211*31*1*7... |
| correct output |
|---|
| 219382651 |
| user output |
|---|
| 219382651 |
Test 13
Group: 5, 6
Verdict: ACCEPTED
| input |
|---|
| 73171*3438*9*34165158853*375*7... |
| correct output |
|---|
| 451362612 |
| user output |
|---|
| 451362612 |
