输入样例 1:
13 1 2 3 4 5 6 7 8 9 10 20 16 18
输出样例 1:
30 11 2 9.7 9
输入样例 2:
8 1 2 4 5 6 7 9 16
输出样例 2:
N 11 2 N 9
import java.text.DecimalFormat;
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int N = sc.nextInt();
int[] arr = new int[N];
for (int i = 0; i < arr.length; i++) {
arr[i]=sc.nextInt();
}
java.text.DecimalFormat df = new DecimalFormat("#.#");
StringBuilder sb = new StringBuilder();
if(A1(arr)==Integer.MIN_VALUE) {
sb.append("N"+" ");
}else {
sb.append(A1(arr)+" ");
}
if(A2(arr)==Integer.MIN_VALUE) {
sb.append("N"+" ");
}else {
sb.append(A2(arr)+" ");
}
if(A3(arr)==Integer.MIN_VALUE) {
sb.append("N"+" ");
}else {
sb.append(A3(arr)+" ");
}
if(A4(arr)==Double.MIN_VALUE) {
sb.append("N"+" ");
}else {
sb.append(df.format(A4(arr))+" ");
}
if(A5(arr)==Integer.MIN_VALUE) {
sb.append("N"+" ");
}else {
sb.append(A5(arr)+" ");
}
System.out.println(sb.substring(0, sb.length()-1));
}
static int A1(int[] re) {
int ans =0;
boolean flag =true;
for (int i = 0; i < re.length; i++) {
if(re[i]%5==0&&re[i]%2==0) {
flag=false;
ans+=re[i];
}
}
if(flag) {
return Integer.MIN_VALUE;
}else {
return ans;
}
}
static int A2(int[] re) {
List<Integer> ans = new ArrayList<>();
boolean flag = true;
for (int i = 0; i < re.length; i++) {
if(re[i]%5==1) {
flag=false;
ans.add(re[i]);
}
}
int ret=0;
if(flag) {
return Integer.MIN_VALUE;
}
for (int i = 0; i < ans.size(); i++) {
if(i%2==0) {
ret+=ans.get(i);
}else {
ret-=ans.get(i);
}
}
return ret;
}
static int A3(int[] re) {
int count=0;
boolean flag = true;
for (int i = 0; i < re.length; i++) {
if(re[i]%5==2) {
flag=false;
count++;
}
}
if(flag) {
return Integer.MIN_VALUE;
}else {
return count;
}
}
static double A4(int[] re) {
int ping=0;
int cnt=0;
boolean flag=true;
for (int i = 0; i < re.length; i++) {
if(re[i]%5==3) {
flag=false;
ping+=re[i];
cnt++;
}
}
if(flag) {
return Double.MIN_VALUE;
}else {
return (double)ping/cnt;
}
}
static int A5(int[] re) {
int max=Integer.MIN_VALUE;
boolean flag = true;
for (int i = 0; i < re.length; i++) {
if(re[i]%5==4&&re[i]>max) {
flag=false;
max=re[i];
}
}
if(flag) {
return Integer.MIN_VALUE;
}else {
return max;
}
}
}