본문 바로가기

Competition/codeforces

Codeforces Round #548 (Div. 2) A. Even Substrings

A. Even Substrings

https://codeforces.com/problemset/problem/1139/A


문자열을 뒤에서 살펴보고, 짝수라면 해당 문자로 끝나는 부분 문자열의 개수를 구한다.

부분 문자열의 개수는 해당 문자가 몇번째 문자인지 살펴보면 된다.


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
 
int n;
string s;
int main() {
    ios::sync_with_stdio(0);
    cin.tie(NULL);
    cin >> n >> s;
    ll sumv = 0;
    int len = s.size();
 
    for (int i = len - 1; i >= 0; i--) {
        if ((s[i] - '0') % 2 == 0) {
            sumv += i + 1;
        }
    }
    cout << sumv;
}
cs