Lang:G++
Edit12345678910111213141516171819202122232425262728293031#include <bits/stdc++.h>using namespace std;typedef long long ll;const int N = 100005;const int M = 1000000007;int n;pair<string, string> a[N];inline int value(char c) {if (c == 'I') { return 1; }if (c == 'V') { return 5; }if (c == 'X') { return 10; }if (c == 'L') { return 50; }if (c == 'C') { return 100; }if (c == 'D') { return 500; }if (c == 'M') { return 1000; }assert(false);return -1;}int toVal(const string &s) {int ret = 0;for (int i = 0; i < (int)s.size(); i++) {int s1 = value(s[i]);if (i + 1 < (int)s.size()) {int s2 = value(s[i + 1]);if (s1 >= s2) {ret += s1;} else {