Submission #63253494
Source Code Expand
import java.io.IOException;
import java.io.InputStream;
import java.util.Arrays;
import java.util.NoSuchElementException;
class Main {
public static void main(String[] args) {
FastScanner sc = new FastScanner();
int N = sc.nextInt();
int[] A = new int[N];
for (int i = 0; i < N; i++) {
A[i] = sc.nextInt();
}
int[] I = new int[1000001];
Arrays.fill(I,-1);
int answer = 2000000000;
for (int i = 0; i < N; i++) {
if (I[A[i]] != -1){
answer = Math.min(answer,i - I[A[i]] + 1);
}else {
I[A[i]] = i;
}
}
if (answer == 2000000000){
System.out.println(-1);
}else {
System.out.println(answer);
}
MyWriter.flush();
}
private static class MyWriter{
static StringBuilder sb = new StringBuilder();
protected static void flush(){
System.out.print(sb);
sb = new StringBuilder();
}
protected static void println(){
sb.append("\n");
}
protected static void println(int i){
sb.append(i).append("\n");
}
protected static void println(long l) {
sb.append(l).append("\n");
}
protected static void println(double d) {
sb.append(d).append("\n");
}
protected static void println(float f) {
sb.append(f).append("\n");
}
protected static void println(char c) {
sb.append(c).append("\n");
}
protected static void println(boolean b) {
sb.append(b).append("\n");
}
protected static void println(Object obj) {
String s = String.valueOf(obj);
sb.append(s).append("\n");
}
protected static void print(int i){
sb.append(i);
}
protected static void print(long l) {
sb.append(l);
}
protected static void print(double d) {
sb.append(d);
}
protected static void print(float f) {
sb.append(f);
}
protected static void print(char c) {
sb.append(c);
}
protected static void print(boolean b) {
sb.append(b);
}
protected static void print(Object obj) {
String s = String.valueOf(obj);
sb.append(s);
}
protected static void printInv(long a,long b,long MOD){
a %= MOD;
b %= MOD;
println((a * invGcd(b,MOD)[1])%MOD);
}
private static long safeMod(long x, long m){
x %= m;
if(x<0) x += m;
return x;
}
private static long[] invGcd(long a, long b){
a = safeMod(a, b);
if(a==0) return new long[]{b,0};
long s=b, t=a;
long m0=0, m1=1;
while(t>0){
long u = s/t;
s -= t*u;
m0 -= m1*u;
long tmp = s; s = t; t = tmp;
tmp = m0; m0 = m1; m1 = tmp;
}
if(m0<0) m0 += b/s;
return new long[]{s,m0};
}
public static long writerGcd(long... a){
if(a.length == 0) return 0;
long r = Math.abs(a[0]);
for(int i=1; i<a.length; i++){
if(a[i]!=0) {
if(r==0) r = Math.abs(a[i]);
else r = invGcd(r, Math.abs(a[i]))[0];
}
}
return r;
}
}
private static class FastScanner {
private final InputStream in = System.in;
private final byte[] buffer = new byte[1024];
private int ptr = 0;
private int buflen = 0;
private boolean hasNextByte() {
if (ptr < buflen) {
return true;
} else {
ptr = 0;
try {
buflen = in.read(buffer);
} catch (IOException e) {
e.printStackTrace();
}
return buflen > 0;
}
}
private int readByte() {
if (hasNextByte()) return buffer[ptr++];
else return -1;
}
private static boolean isPrintableChar(int c) {
return 33 <= c && c <= 126;
}
public boolean hasNext() {
while (hasNextByte() && !isPrintableChar(buffer[ptr])) ptr++;
return !hasNextByte();
}
public String next() {
if (hasNext()) throw new NoSuchElementException();
StringBuilder sb = new StringBuilder();
int b = readByte();
while (isPrintableChar(b)) {
sb.appendCodePoint(b);
b = readByte();
}
return sb.toString();
}
public long nextLong() {
if (hasNext()) throw new NoSuchElementException();
long n = 0;
boolean minus = false;
int b = readByte();
if (b == '-') {
minus = true;
b = readByte();
}
if (b < '0' || '9' < b) {
throw new NumberFormatException();
}
while (true) {
if ('0' <= b && b <= '9') {
n *= 10;
n += b - '0';
} else if (b == -1 || !isPrintableChar(b)) {
return minus ? -n : n;
} else {
throw new NumberFormatException();
}
b = readByte();
}
}
public int nextInt() {
long nl = nextLong();
if (nl < Integer.MIN_VALUE || nl > Integer.MAX_VALUE) throw new NumberFormatException();
return (int) nl;
}
public double nextDouble() {
return Double.parseDouble(next());
}
}
}
Submission Info
| Submission Time | |
|---|---|
| Task | C - Shortest Duplicate Subarray |
| User | AAH_tomato |
| Language | Java (OpenJDK 17) |
| Score | 300 |
| Code Size | 6263 Byte |
| Status | AC |
| Exec Time | 101 ms |
| Memory | 41960 KiB |
Judge Result
| Set Name | Sample | All | ||||
|---|---|---|---|---|---|---|
| Score / Max Score | 0 / 0 | 300 / 300 | ||||
| Status |
|
|
| Set Name | Test Cases |
|---|---|
| Sample | 00-sample-001.txt, 00-sample-002.txt, 00-sample-003.txt |
| All | 00-sample-001.txt, 00-sample-002.txt, 00-sample-003.txt, 01-random-001.txt, 01-random-002.txt, 01-random-003.txt, 01-random-004.txt, 01-random-005.txt, 01-random-006.txt, 01-random-007.txt, 01-random-008.txt, 01-random-009.txt, 01-random-010.txt, 01-random-011.txt, 01-random-012.txt, 01-random-013.txt, 01-random-014.txt, 01-random-015.txt, 02-small-001.txt, 02-small-002.txt, 02-small-003.txt, 02-small-004.txt, 02-small-005.txt, 02-small-006.txt, 02-small-007.txt, 02-small-008.txt, 02-small-009.txt, 02-small-010.txt, 02-small-011.txt, 02-small-012.txt, 02-small-013.txt, 02-small-014.txt, 02-small-015.txt, 03-large-001.txt, 03-large-002.txt, 03-large-003.txt, 03-large-004.txt, 03-large-005.txt, 03-large-006.txt, 03-large-007.txt, 03-large-008.txt, 03-large-009.txt, 03-large-010.txt, 03-large-011.txt, 03-large-012.txt, 03-large-013.txt, 03-large-014.txt, 03-large-015.txt, 03-large-016.txt, 03-large-017.txt, 03-large-018.txt, 03-large-019.txt, 03-large-020.txt |
| Case Name | Status | Exec Time | Memory |
|---|---|---|---|
| 00-sample-001.txt | AC | 47 ms | 38300 KiB |
| 00-sample-002.txt | AC | 47 ms | 38608 KiB |
| 00-sample-003.txt | AC | 48 ms | 38352 KiB |
| 01-random-001.txt | AC | 90 ms | 40428 KiB |
| 01-random-002.txt | AC | 89 ms | 40504 KiB |
| 01-random-003.txt | AC | 83 ms | 40060 KiB |
| 01-random-004.txt | AC | 85 ms | 40632 KiB |
| 01-random-005.txt | AC | 83 ms | 40160 KiB |
| 01-random-006.txt | AC | 91 ms | 40000 KiB |
| 01-random-007.txt | AC | 80 ms | 40344 KiB |
| 01-random-008.txt | AC | 83 ms | 41028 KiB |
| 01-random-009.txt | AC | 93 ms | 41632 KiB |
| 01-random-010.txt | AC | 70 ms | 39732 KiB |
| 01-random-011.txt | AC | 73 ms | 39536 KiB |
| 01-random-012.txt | AC | 72 ms | 39972 KiB |
| 01-random-013.txt | AC | 70 ms | 39304 KiB |
| 01-random-014.txt | AC | 67 ms | 39280 KiB |
| 01-random-015.txt | AC | 68 ms | 39560 KiB |
| 02-small-001.txt | AC | 46 ms | 38328 KiB |
| 02-small-002.txt | AC | 47 ms | 38472 KiB |
| 02-small-003.txt | AC | 48 ms | 38540 KiB |
| 02-small-004.txt | AC | 47 ms | 38280 KiB |
| 02-small-005.txt | AC | 47 ms | 38604 KiB |
| 02-small-006.txt | AC | 51 ms | 38272 KiB |
| 02-small-007.txt | AC | 49 ms | 38648 KiB |
| 02-small-008.txt | AC | 52 ms | 38476 KiB |
| 02-small-009.txt | AC | 51 ms | 38344 KiB |
| 02-small-010.txt | AC | 47 ms | 38476 KiB |
| 02-small-011.txt | AC | 47 ms | 38272 KiB |
| 02-small-012.txt | AC | 51 ms | 38276 KiB |
| 02-small-013.txt | AC | 47 ms | 38380 KiB |
| 02-small-014.txt | AC | 47 ms | 38584 KiB |
| 02-small-015.txt | AC | 47 ms | 38356 KiB |
| 03-large-001.txt | AC | 78 ms | 40720 KiB |
| 03-large-002.txt | AC | 89 ms | 40568 KiB |
| 03-large-003.txt | AC | 95 ms | 41300 KiB |
| 03-large-004.txt | AC | 87 ms | 40328 KiB |
| 03-large-005.txt | AC | 95 ms | 40996 KiB |
| 03-large-006.txt | AC | 89 ms | 40852 KiB |
| 03-large-007.txt | AC | 86 ms | 40804 KiB |
| 03-large-008.txt | AC | 93 ms | 41236 KiB |
| 03-large-009.txt | AC | 91 ms | 41048 KiB |
| 03-large-010.txt | AC | 93 ms | 41464 KiB |
| 03-large-011.txt | AC | 96 ms | 40476 KiB |
| 03-large-012.txt | AC | 86 ms | 41320 KiB |
| 03-large-013.txt | AC | 101 ms | 41960 KiB |
| 03-large-014.txt | AC | 93 ms | 40792 KiB |
| 03-large-015.txt | AC | 97 ms | 40952 KiB |
| 03-large-016.txt | AC | 80 ms | 40144 KiB |
| 03-large-017.txt | AC | 77 ms | 40368 KiB |
| 03-large-018.txt | AC | 93 ms | 40816 KiB |
| 03-large-019.txt | AC | 91 ms | 40872 KiB |
| 03-large-020.txt | AC | 88 ms | 40312 KiB |