2017-09-22 3 views
-2
import java.io.*; 
import java.util.*; 
import java.text.*; 
import java.math.*; 
import java.util.regex.*; 

public class Solution { 

public static void main(String[] args) { 
    Scanner in = new Scanner(System.in); 
    int n = in.nextInt(); 
    long arr[]=new long[n]; 
    long m = in.nextLong(); 
    for(int a0 = 0; a0 < m; a0++){ 
     long a = in.nextLong(); 
     long b = in.nextLong(); 
     long k = in.nextLong(); 
     for(int i=(int)a-1;i<(int)b;i++) 
      arr[i]+=k; 
    } 
    long large=-999; 
    for(int i=0;i<n;i++) 
    { if(arr[i]>large) 
     large=arr[i]; 
    } 
    System.out.println(large); 
    in.close(); 
} 
} 

이것은 사용자가 목록을 주어 "내 대답 (1 인덱스) 제로로 초기화.이 목록 출력에서 ​​최종 값의 최대 작업을 수행 할 수 있고, 크기가 n 모든 연산에 대해 세 정수 a, b, k가 주어지며 인덱스 a에서 b (둘 다 포함) 범위의 모든 요소에 값 k를 추가해야합니다. " 하지만 그 중 절반은 "Timedout error"입니다. 누구나 아이디어를 여기에 올릴 수 있습니까?회피 시간 초과 오류

+0

여러분의 프로그램은 사용자 입력을 요구한다 모든 입력을 제공합니까? 또한 JDK에 정의 된'TimeoutError'와 같은 것도 존재하지 않습니다. – fge

+0

솔루션에 너무 많은 시간이 걸리면 'TimeoutError'가 해커 랙에서 발생한다고 생각합니다. – baudsp

+0

입력은 런타임 중에 플랫폼에서 제공하며 오류 코드는 정확히 지정되지 않았습니다. 죄송합니다. –

답변

0

루프에서 카운터를 long으로 사용해보십시오. int로 캐스팅하는 이유는 무엇입니까? 당신은 아마 오버플로 오류 및 성취되지 않을 수있는 루프의 끝 조건을 int로 긴 캐스팅 경우 는

for(long i=a-1;i<b;i++) 
+0

모든 배열은 ** int ** 인덱스입니다 .... –

+0

모든 배열은 ** int ** 인덱스입니다. 이 링크 "https://stackoverflow.com/questions/14571557/create-an-array-of-long"을 확인하십시오. 틀 렸으면 고쳐줘. 귀하의 회신에 감사드립니다. –