Submission #1513764
Source Code Expand
import java.util.Scanner; import java.util.TreeSet; public class Main { public static void main(String[] args) { new Main().solve(); } void solve(){ 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(); } TreeSet<Integer> seen=new TreeSet<>(); seen.add(-1); seen.add(n); int[] w=new int[n]; for(int i=0;i<n;++i){ w[a[i]-1]=i; } long res=0; for(int i=0;i<n;++i){ seen.add(w[i]); int prev=seen.headSet(w[i], false).last(); int next=seen.tailSet(w[i], false).first(); res+=(w[i]-prev)*(long)(next-w[i])*(i+1); } System.out.println(res); } }
Submission Info
Submission Time | |
---|---|
Task | B - Minimum Sum |
User | kwkm0429 |
Language | Java8 (OpenJDK 1.8.0) |
Score | 400 |
Code Size | 688 Byte |
Status | AC |
Exec Time | 828 ms |
Memory | 98952 KB |
Judge Result
Set Name | Sample | All | ||||
---|---|---|---|---|---|---|
Score / Max Score | 0 / 0 | 400 / 400 | ||||
Status |
|
|
Set Name | Test Cases |
---|---|
Sample | example0, example1, example2 |
All | corner0, corner1, corner2, corner3, example0, example1, example2, maxrand0, maxrand1, maxrand2, rand0, rand1, rand2 |
Case Name | Status | Exec Time | Memory |
---|---|---|---|
corner0 | AC | 718 ms | 97748 KB |
corner1 | AC | 798 ms | 98032 KB |
corner2 | AC | 102 ms | 18768 KB |
corner3 | AC | 718 ms | 87488 KB |
example0 | AC | 94 ms | 21588 KB |
example1 | AC | 99 ms | 17492 KB |
example2 | AC | 93 ms | 21972 KB |
maxrand0 | AC | 760 ms | 97904 KB |
maxrand1 | AC | 828 ms | 90712 KB |
maxrand2 | AC | 822 ms | 98952 KB |
rand0 | AC | 120 ms | 19924 KB |
rand1 | AC | 93 ms | 19668 KB |
rand2 | AC | 98 ms | 19796 KB |