1 条题解
-
0
C :
int a[20]; int main() { int n,i; scanf("%d",&n); for(i = 0; i < n; i++) { scanf("%d",&a[i]); } int max= 0; //最大值 int maxIndex = 0; //起始位置下标 for(i = 0; i < n; i++) { int num = a[i] + a[ (i + 1) % n ] + a[ (i + 2) % n ] + a[ (i + 3) % n ]; if(num > max) { max = num; maxIndex = i; } } printf("%d %d",max,maxIndex+1); }C++ :
#include <bits/stdc++.h> using namespace std; int main() { int a[150],n,zf,s,max,p; bool f; cin>>n; for (int i=0;i<n;i++) { cin>>a[i]; } max=a[0]+a[(0+1)%n]+a[(0+2)%n]+a[(0+3)%n]; p=0; for (int i=0;i<n;i++) { s=a[i]+a[(i+1)%n]+a[(i+2)%n]+a[(i+3)%n]; if (s>max) { max=s; p=i; } } cout<<max<<endl<<p+1<<endl; return 0; }Java :
import java.util.Scanner; public class Main{ public static void main(String[] args) { Scanner sc = new Scanner(System.in); int n = sc.nextInt(); int[] a = new int[n]; for(int i=0;i<n;i++ ){ a[i] = sc.nextInt(); } int[] b =new int[n+3]; for(int i=0;i<n+3;i++) { if (i<n) { b[i]=a[i]; }else { b[i]=a[i-n]; } } int c = 0 ; int t = 1 ; int max=b[0]+b[1]+b[2]+b[3]; for(int i =0;i<n;i++) { c=b[i]+b[i+1]+b[i+2]+b[i+3]; if (max<c) { max = c ; t = i+1; } } System.out.println(max); System.out.println(t); } }Python :
n = int(input()) li = list(map(int,input().split())) li.append(li[0]) li.append(li[1]) li.append(li[2]) m = 0 s = 0 for i in range (0,n): r = li[i] + li[i + 1] + li[i + 2] + li[i + 3] if r > m: m = r s = i print(m) print(s+1)
- 1
信息
- ID
- 158
- 时间
- 1000ms
- 内存
- 512MiB
- 难度
- 10
- 标签
- 递交数
- 4
- 已通过
- 2
- 上传者