题解 | #合并表记录#
合并表记录
https://www.nowcoder.com/practice/de044e89123f4a7482bd2b214a685201
#include <iostream>
using namespace std;
int main() {
int n;
cin >> n;
int i,v;
int j=0;
int a[500];
int b[500];
int f;
int k;
for(k=0;k<500;k++){
a[k] = -1;
b[k] = -1;
}
// cout << a[0];
while(n--){
cin >> i;
cin >> v;
// cout << i << v << "nnn" << endl;
for(k=0;k<500;k++){
if(a[k] == i){
b[k] = b[k] +v;
// cout << a[k] << " " << b[k] << " " << k << " " << i << endl;
f=0;
break;
} else {
f=1;
}
}
// cout << "j" << j << f << endl;
if(f==1){
a[j] = i;
b[j] = v;
j++;
}
}
int t;
for(i=0;i<499;i++){
for(k=i+1;k<500;k++){
if(a[i] > a[k]){
t = a[i];
a[i] = a[k];
a[k] = t;
t = b[i];
b[i] = b[k];
b[k] = t;
}
}
}
for(k=0;k<500;k++){
if(a[k] != -1){
cout << a[k] << " " << b[k] << endl;
}
}
}
// 64 位输出请用 printf("%lld")
