小明種蘋果
來源:CCF
標籤:
參考資料:
相似題目:
題目
小明在他的果園裏種了一些蘋果樹。爲了保證蘋果的品質,在種植過程中要進行若干輪疏果操作,也就是提前從樹上把不好的蘋果去掉。第一輪疏果操作開始前,小明記錄了每棵樹上蘋果的個數。每輪疏果操作時,小明都記錄了從每棵樹上去掉的蘋果個數。在最後一輪疏果操作結束後,請幫助小明統計相關的信息。
輸入
從標準輸入讀入數據。
第1行包含兩個正整數N和M,分別表示蘋果樹的棵數和疏果操作的輪數。
第1+i行(1<=i<=N),每行包含M+1個整數。其中爲正整數,表示第一輪疏果操作開始前第;棵樹上蘋果的個數。(1<=j<=M)爲零或負整數,表示第j輪疏果操作時從第i棵樹上去掉的蘋果個數。如果爲零,表示沒有去掉蘋果;如果爲負,其絕對值爲去掉的蘋果個數。
每行中相鄰兩個數之間用一個空格分隔。
輸出
輸出到標準輸出。
輸出只有一行,包含三個整數T、k和P,其中,
.T爲最後一輪疏果操作後所有蘋果樹上剩下的蘋果總數(假設蘋果不會因爲其他原因減少)
·k爲疏果個數(也就是疏果操作去掉的蘋果個數)最多的蘋果樹編號(如有並列,輸出滿足條件的最小編號);·P爲該蘋果樹的疏果個數。
相鄰兩個數之間用一個空格分隔。輸入數據保證是正確的,也就是說,每棵樹在全部疏果操作結束後剩下的蘋果個數是非負的。
輸入樣例1
3 3
73 -8 -6 -4
76 -5 -10 -8
80 -6 -15 0
輸出樣例1
167 2 23
樣例解釋1
第1棵蘋果樹的疏果個數爲8+6+4=18,第2棵爲5+10+8=23,第3棵爲6+15+0= 21,因此最後一輪疏果操作後全部蘋果樹上的蘋果個數總和爲
(73-18)+(76-23)(80-21)= 167,疏果個數最多的是第2棵數,其疏果個數爲23.
輸入樣例2
2 2
10 -3 -1
15 -4 0
輸出樣例2
17 1 4
樣例解釋2
兩棵樹的疏果個數均爲4,應該輸出編號最小的第1棵樹。
提示
解題思路
請直接參考代碼。
參考代碼
#include<cstdio>
int N, M;
int T, k, P;
int main(){
int d; //輸入疏果個數
int maxd=0; //最大疏果個數
scanf("%d%d", &N, &M);
for(int i=0; i<N; i++){
P=0;
scanf("%d", &d); //第一輪開始前的蘋果個數
T+=d;
for(int j=1; j<=M; j++){
scanf("%d", &d);
T+=d;
P-=d;
}
if(P>maxd){
maxd=P;
k=i+1;
}
}
printf("%d %d %d\n", T, k, maxd);
return 0;
}