#include <iostream> using namespace std; typedef struct { int index; int value; bool flag; } item; int main() { int n; cin >> n; item a[n]; for (int i = 0; i < n; i++) { cin >> a[i].index >> a[i].value; a[i].flag = true; } for (int i = 0; i < n; i++) { for (int j = i + 1; j < n; j++) { if (a[i].index == a[j].index && a[j].flag) { a[i].value += a[j].value; a[j].flag = false; } } } int index; for (int i = 0; i < n; i++) { index=0; int min=11111112; bool ischange=false; for (int j = 0; j < n; j++) { if (min > a[j].index && a[j].flag) { min = a[j].index; index = j; ischange=true; } } if(!ischange) break; cout << a[index].index << " " << a[index].value << endl; a[index].flag = false; } return 0; } // 64 位输出请用 printf("%lld")