import java.io.InputStream;
import java.io.PrintStream;
import java.util.Scanner;
public class sia {
public static void main(String[] args) {
InputStream in = System.in;
PrintStream out = System.out;
calculate(in, out);
}
public static int calculate(InputStream in, PrintStream out) {
/** Read input and init tables */
Scanner scanner = new Scanner(in);
int n = Integer.valueOf(scanner.next());
int m = Integer.valueOf(scanner.next());
long a[] = new long[n];
long g[] = new long[n];
scanner.nextLine();
for (int i = 0; i < n; i++) {
a[i] = Long.valueOf(scanner.next());
g[i] = 0;
}
/** Calculate */
long ld = 0;
for (int j = 0; j < m; j++) {
/** Read */
scanner.nextLine();
long d = Long.valueOf(scanner.next());
long b = Long.valueOf(scanner.next());
/** Cut each grass and summarize */
long sum = 0;
for (int i = 0; i < n; i++) {
g[i] = g[i] + (d - ld) * a[i];
if (g[i] > b) {
sum += g[i] - b;
g[i] = b;
}
}
ld = d;
/** Print result for cut */
out.println(sum);
}
scanner.close();
return 0;
}
}
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 | import java.io.InputStream; import java.io.PrintStream; import java.util.Scanner; public class sia { public static void main(String[] args) { InputStream in = System.in; PrintStream out = System.out; calculate(in, out); } public static int calculate(InputStream in, PrintStream out) { /** Read input and init tables */ Scanner scanner = new Scanner(in); int n = Integer.valueOf(scanner.next()); int m = Integer.valueOf(scanner.next()); long a[] = new long[n]; long g[] = new long[n]; scanner.nextLine(); for (int i = 0; i < n; i++) { a[i] = Long.valueOf(scanner.next()); g[i] = 0; } /** Calculate */ long ld = 0; for (int j = 0; j < m; j++) { /** Read */ scanner.nextLine(); long d = Long.valueOf(scanner.next()); long b = Long.valueOf(scanner.next()); /** Cut each grass and summarize */ long sum = 0; for (int i = 0; i < n; i++) { g[i] = g[i] + (d - ld) * a[i]; if (g[i] > b) { sum += g[i] - b; g[i] = b; } } ld = d; /** Print result for cut */ out.println(sum); } scanner.close(); return 0; } } |
English