Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <fstream>
- #include <cstring>
- #include <map>
- using namespace std;
- typedef long long ll;
- ifstream cin("datorii.in");
- ofstream cout("datorii.out");
- map<string,pair<ll,ll>> M;
- int main()
- {
- int c , d;
- cin >> c >> d; cin.get();
- for(int i = 1;i<=d;i++)
- {
- string datorie;
- getline(cin,datorie);
- int p1 = datorie.length() - 1,p2;
- bool spatiu = false;
- while(datorie[p1] != '>')
- {
- if(isdigit(datorie[p1]) && !spatiu)
- p2=p1;
- if(datorie[p1] == ' ' )
- spatiu = true;
- p1--;
- }
- int suma = 0;
- for(int it = p2;it<datorie.length();it++)
- suma = suma * 10 + (datorie[it] - '0');
- string dator = datorie.substr(0,p1-1);
- string primitor = datorie.substr(p1 + 2, p2 - (p1 + 3));
- M[dator].first += suma;
- M[primitor].second += suma;
- }
- if(c==1)
- cout << M.size() << '\n';
- if(c==2)
- for(auto it : M)
- cout << it.first << ' ' << it.second.first << ' ' << it.second.second << '\n';
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement