Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <vector>
- #include <algorithm>
- #include <string>
- #include <map>
- #include <queue>
- using namespace std;
- int main() {
- ios_base::sync_with_stdio(false);
- cin.tie(0);
- string s;
- cin >> s;
- int sum = 0;
- vector<bool> used(s.size());
- for (int i = 0; i + 1 < s.size(); i++) {
- if (used[i] || used[i + 1]) continue;
- if (s[i] == 'C' && s[i + 1] == 'M') {
- used[i] = true;
- used[i + 1] = true;
- sum += 900;
- }
- }
- for (int i = 0; i + 1 < s.size(); i++) {
- if (used[i] || used[i + 1]) continue;
- if (s[i] == 'C' && s[i + 1] == 'D') {
- used[i] = true;
- used[i + 1] = true;
- sum += 500;
- }
- }
- for (int i = 0; i + 1 < s.size(); i++) {
- if (used[i] || used[i + 1]) continue;
- if (s[i] == 'X' && s[i + 1] == 'C') {
- used[i] = true;
- used[i + 1] = true;
- sum += 90;
- }
- }
- for (int i = 0; i + 1 < s.size(); i++) {
- if (used[i] || used[i + 1]) continue;
- if (s[i] == 'X' && s[i + 1] == 'L') {
- used[i] = true;
- used[i + 1] = true;
- sum += 40;
- }
- }
- for (int i = 0; i + 1 < s.size(); i++) {
- if (used[i] || used[i + 1]) continue;
- if (s[i] == 'I' && s[i + 1] == 'X') {
- used[i] = true;
- used[i + 1] = true;
- sum += 9;
- }
- }
- for (int i = 0; i + 1 < s.size(); i++) {
- if (used[i] || used[i + 1]) continue;
- if (s[i] == 'I' && s[i + 1] == 'V') {
- used[i] = true;
- used[i + 1] = true;
- sum += 4;
- }
- }
- for (int i = 0; i < s.size(); i++) {
- if (used[i]) continue;
- if (s[i] == 'I') {
- sum++;
- }
- else if (s[i] == 'V') {
- sum += 5;
- }
- else if (s[i] == 'X') {
- sum += 10;
- }
- else if (s[i] == 'L') {
- sum += 50;
- }
- else if (s[i] == 'C') {
- sum += 100;
- }
- else if (s[i] == 'D') {
- sum += 500;
- }
- else if (s[i] == 'M') {
- sum += 1000;
- }
- }
- cout << sum;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement