满分代码
/*
测试用例
input:
3 3
73 -8 -6 -4
76 -5 -10 -8
80 -6 -15 0
output:167 2 23
input:
2 2
10 -3 -1
15 -4 0
output:17 1 4
*/
#include<iostream>
using namespace std;
int main()
{
int n, m, data;
// left_sum表所有苹果树剩余苹果数,take_sum每棵苹果树蔬果个数
int left_sum = 0, take_sum = 0;
// take_max_num表所有苹果树中蔬果最多的编号,take_max表蔬果最多的个数
int take_max_num, take_max;
cin>>n>>m;
// 初始化take_max_num以及take_max
cin>>data;
left_sum += data;
for(int i = 0; i < m; i++)
{
cin>>data;
take_sum -= data; // 因为data为负数
}
take_max_num = 1;
take_max = take_sum;
left_sum -= take_sum; // 更新剩余苹果数
for(int i = 2; i <= n; i++)
{
cin>>data; // 第i课苹果个数
left_sum += data; // data为正数
take_sum = 0;
// 获取第i个苹果树的蔬果个数
for(int j = 0; j < m; j++)
{
cin>>data;
take_sum -= data;
}
// 记录最大的蔬果个数的苹果树
if(take_sum > take_max)
{
take_max_num = i;
take_max = take_sum;
}
left_sum -= take_sum;
}
cout<<left_sum<<" "<<take_max_num<<" "<<take_max<<endl;
return 0;
}