Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.io.BufferedReader;
- import java.io.BufferedWriter;
- import java.io.File;
- import java.io.InputStreamReader;
- import java.io.OutputStreamWriter;
- import java.io.PrintWriter;
- import java.util.ArrayList;
- import java.util.Arrays;
- import java.util.LinkedList;
- import java.util.Queue;
- import java.util.Scanner;
- public class Main {
- public static void main(String[] args) throws Exception {
- Main main = new Main();
- main.run();
- }
- boolean[] check = new boolean[2 * 100 - 1];
- int n = 0;
- int max = -1;
- public void run() throws Exception {
- Scanner sc = null;
- PrintWriter pr = null;
- pr=new PrintWriter(new BufferedWriter(new OutputStreamWriter(System.out)));
- sc = new Scanner(new BufferedReader(new InputStreamReader(System.in)));
- // sc = new Scanner(new File("input.txt"));
- int n = sc.nextInt();
- long[] A = new long[n+1];
- long[] P = new long[n+1];
- int[] N = new int[n+1];
- for (int i = 1; i <= n; i++) {
- A[i] = sc.nextInt();
- if (A[i] >= 0) {
- P[i] = P[i-1] + A[i];
- N[i] = N[i-1];
- }
- else {
- P[i] = P[i-1];
- N[i] = N[i-1] + 1;
- }
- }
- long max = Long.MIN_VALUE;
- int lo=0, hi=0;
- for (int i = 1; i < n ; i++) {
- for (int j = i + 1; j <= n; j++) {
- if (A[i] == A[j]) {
- // System.out.println("e: " + i + "\t" + j);
- // System.out.println("Bet: " + P[j] + "\t" + P[i-1]);
- long sum = P[j] - P[i-1];
- if (A[i] < 0) sum += 2 * A[i];
- //System.out.println("sum: " + sum);
- if (sum > max) {
- max = sum;
- lo = i;
- hi = j;
- }
- }
- }
- }
- long res = lo-1 + N[hi-1] - N[lo] + n - hi;
- System.out.println(max + " " + res);
- for (int i = 1; i < lo; i++) {
- System.out.print(i + " ");
- }
- for (int i = lo + 1; i <= hi - 1; i++) {
- if (A[i] < 0) System.out.print(i + " ");
- }
- for (int i = hi + 1; i <= n; i++) {
- System.out.print(i + " ");
- }
- pr.close();
- sc.close();
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment