2017-09-22 5 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(); 
} 
} 

をタイムアウトエラーを回避することは、これはあなたがゼロで初期化された大きさnのリストを(1インデックス)、与えられた "のための私の答えです。あなたは、リスト出力時に最終値の最大値を操作を実行する必要がありすべての演算に対して、a、b、kの3つの整数が与えられ、インデックスaからb(両方を含む)までのすべての要素に値kを追加する必要があります。 しかし、私は半分の "Timedoutエラー"を取得しています誰もここにいくつかのアイデアを投げてください?がhackerrankに

+0

プログラムにはユーザー入力が必要です。すべての入力を提供していますか?また、JDKに定義されている 'TimeoutError'といったものはありません。 – fge

+0

解決策に時間がかかりすぎると、「TimeoutError」がハッカーから来ていると思います。 – baudsp

+0

入力は実行時にプラットフォームによって提供され、エラーコードは正確に指定されていません。 –

答えて

0

ループで長いカウンタを使用しようとすると、なぜintにキャストしていますか? long型にキャストするとオーバーフローエラーが発生し、ループの終了条件が決して満たされない可能性があります。

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

すべての配列は** int ** indexed .... –

+0

すべての配列は** int ** indexedです。このリンク「https://stackoverflow.com/questions/14571557/create-an-array-of-long」をご覧ください。私が間違っているなら私を訂正してください。そして、ありがとうございました。 –

関連する問題