Untitled

 avatar
unknown
plain_text
2 years ago
1.4 kB
5
Indexable
public class Question5 {
    public static void main(String[] args) {
//        int[] a = {3, 0, 2, 0, 4};
        int[] a = {1, 2, 0, 3, 1, 0, 1, 2, 2, 1, 2, 0, 1};
        int totalFilling = 0;
        int fillingHeight;
        for (int i = 0; i + 1 < a.length; ) {
            int nextStop = 0;
            fillingHeight = a[i];
            for (int j = i + 1; j < a.length; j++) {
                if (a[j] >= a[i]) {
                    nextStop = j;
                    break;
                }
            }
            if (nextStop == 0) {
                int max = 0;
                int maxIndex = 0;
                for (int j = i + 1; j < a.length; j++) {
                    if (a[j] >= max) {
                        max = a[j];
                        maxIndex = j;
                    }
                }
                nextStop = maxIndex;
                fillingHeight = max;
            }

            if (i == 0 && a[i] < a[i + 1]) {
                i = nextStop;
                continue;
            }

            for (int j = i + 1; j < nextStop; j++) {
                int filling = fillingHeight - a[j];
                a[j] += filling;
                totalFilling += filling;
            }

            i = nextStop;
        }
        System.out.println(totalFilling);
        System.out.println(Arrays.toString(a));
    }
}
Editor is loading...