1 条题解
-
0
C :
#include<stdio.h> int a[1000001]; main() { int j,i,n,m; scanf("%d %d",&n,&m); for(i = 0; i < n; i++) { scanf("%d",&a[i]); } double avg = 0; for(i = 0; i <= n - m; i++) { //求m个小时的最大值 double s = 0; for(j = i; j < i + m ; j++) { s = s + a[j]; } s = s / m; if(s > avg) { avg = s; } } printf("%.2f",avg); }C++ :
#include <bits/stdc++.h> using namespace std; int a[110]; int main(){ int n,m; cin>>n>>m; for(int i=0;i<n;i++) { cin>>a[i]; } float max=0; int s; for(int i=0;i<n-m+1;i++) { s=0; for(int j=i;j<m+i;j++) { s+=a[j]; } if(s>max) { max=s; } } cout<<fixed<<setprecision(2)<<max/m<<endl; return 0; }Pascal :
var m,n,max,num,i:longint; sum:array[0..1000000] of longint; begin read(n,m); for i:=1 to n do begin read(num); sum[i]:=sum[i-1]+num; end; for i:=m to n do if sum[i]-sum[i-m]>max then max:=sum[i]-sum[i-m]; writeln(max/m:0:2); end.Java :
import java.text.DecimalFormat; import java.util.Scanner; public class Main{ public static void main(String[] args) { // TODO Auto-generated method stub Scanner scanner =new Scanner(System.in); String str=scanner.nextLine(); String[] array=str.split(" "); int N=Integer.valueOf(array[0]); int M=Integer.valueOf(array[1]); String speedStr=scanner.nextLine(); String[] speedarray=speedStr.split(" "); int sumMax=0; for(int i=0;i<(N-M+1);i++){ int sum=0; for(int j=0;j<M;j++){ sum=sum+Integer.valueOf(speedarray[j+i]); } if(sum>=sumMax){ sumMax=sum; } } float avg=(float)sumMax/M; DecimalFormat df = new DecimalFormat("#.00"); System.out.println(df.format(avg)); } }Python :
n,m = map(int,input().split()) myList = list(map(int,input().split())) max = 0 for i in range(0,n - m + 1): s = 0 for j in range(i,i + m): s = s + myList[j] if s / m > max: max = s / m print("%.2f"%(max))
- 1
信息
- ID
- 160
- 时间
- 1000ms
- 内存
- 64MiB
- 难度
- 10
- 标签
- 递交数
- 2
- 已通过
- 2
- 上传者