思路:将初始的树上苹果数和疏过操作过程分别存在两个数组中。分别对两个数组操作,求出每棵树上的疏果数和疏果后的苹果总数。扫描每棵树上的疏果数的数组,标记出最多的疏果的树。
代码实现:
#include<iostream>
using namespace std;
const int N = 1000;
const int M = 1000;
int a[N] = {0};
int b[M][M+1];
int main(){
int n,m;
cin>>n>>m;
for(int i = 0; i < n; i++){
for(int j = 0; j < m+1; j++){
cin>>b[i][j];
if(j != 0)
a[i] -= b[i][j];
}
}
int T = 0,k = 0,P;
for(int i = 0; i < n; i++){
T += (b[i][0] - a[i]);
}
for(int i = 1; i < n; i++){
if(a[i] > a[k])
k = i;
}
cout<<T<<' '<<k+1<<' '<<a[k];
return 0;
}