Advertisement
Guest User

Untitled

a guest
Dec 16th, 2018
90
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.82 KB | None | 0 0
  1. #include <iostream>
  2. #include <vector>
  3. #include <algorithm>
  4. #include <string>
  5. #include <map>
  6. #include <queue>
  7.  
  8. using namespace std;
  9.  
  10. int main() {
  11.     ios_base::sync_with_stdio(false);
  12.     cin.tie(0);
  13.  
  14.     string s;
  15.     cin >> s;
  16.    
  17.     int sum = 0;
  18.     vector<bool> used(s.size());
  19.  
  20.     for (int i = 0; i + 1 < s.size(); i++) {
  21.         if (used[i] || used[i + 1]) continue;
  22.         if (s[i] == 'C' && s[i + 1] == 'M') {
  23.             used[i] = true;
  24.             used[i + 1] = true;
  25.             sum += 900;
  26.         }
  27.     }
  28.  
  29.     for (int i = 0; i + 1 < s.size(); i++) {
  30.         if (used[i] || used[i + 1]) continue;
  31.         if (s[i] == 'C' && s[i + 1] == 'D') {
  32.             used[i] = true;
  33.             used[i + 1] = true;
  34.             sum += 500;
  35.         }
  36.     }
  37.  
  38.     for (int i = 0; i + 1 < s.size(); i++) {
  39.         if (used[i] || used[i + 1]) continue;
  40.         if (s[i] == 'X' && s[i + 1] == 'C') {
  41.             used[i] = true;
  42.             used[i + 1] = true;
  43.             sum += 90;
  44.         }
  45.     }
  46.  
  47.     for (int i = 0; i + 1 < s.size(); i++) {
  48.         if (used[i] || used[i + 1]) continue;
  49.         if (s[i] == 'X' && s[i + 1] == 'L') {
  50.             used[i] = true;
  51.             used[i + 1] = true;
  52.             sum += 40;
  53.         }
  54.     }
  55.  
  56.     for (int i = 0; i + 1 < s.size(); i++) {
  57.         if (used[i] || used[i + 1]) continue;
  58.         if (s[i] == 'I' && s[i + 1] == 'X') {
  59.             used[i] = true;
  60.             used[i + 1] = true;
  61.             sum += 9;
  62.         }
  63.     }
  64.  
  65.     for (int i = 0; i + 1 < s.size(); i++) {
  66.         if (used[i] || used[i + 1]) continue;
  67.         if (s[i] == 'I' && s[i + 1] == 'V') {
  68.             used[i] = true;
  69.             used[i + 1] = true;
  70.             sum += 4;
  71.         }
  72.     }
  73.  
  74.     for (int i = 0; i < s.size(); i++) {
  75.         if (used[i]) continue;
  76.         if (s[i] == 'I') {
  77.             sum++;
  78.         }
  79.         else if (s[i] == 'V') {
  80.             sum += 5;
  81.         }
  82.         else if (s[i] == 'X') {
  83.             sum += 10;
  84.         }
  85.         else if (s[i] == 'L') {
  86.             sum += 50;
  87.         }
  88.         else if (s[i] == 'C') {
  89.             sum += 100;
  90.         }
  91.         else if (s[i] == 'D') {
  92.             sum += 500;
  93.         }
  94.         else if (s[i] == 'M') {
  95.             sum += 1000;
  96.         }
  97.     }
  98.     cout << sum;
  99. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement