ちょっとハッカーの問題を解決しようとしていますが、いくつかのテストケースではコードのタイムアウトと私はなぜわかりません。 This is the challenge。Hackerrankのチャレンジのタイムアウト
そして、ここに私のコードです:
#include <math.h>
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <assert.h>
#include <limits.h>
#include <stdbool.h>
int main(){
int n, k, q;
scanf("%d %d %d",&n,&k,&q);
int qs[q];
int a[n];
for(int i = 0; i < n; i++){
scanf("%d", &a[i]);
}
for(int i = 0; i < q; i++){
scanf("%d",&qs[i]);
}
int lastNbr = a[n-1];
for(int i = 0; i < k; i++){
lastNbr = a[n-1];
for(int j = n - 1; j > -1; j--){
a[j] = (j-1 >= 0) ? a[j-1] : lastNbr;
}
}
for(int i = 0; i < q; i++){
printf("%d\n", a[qs[i]]);
}
return 0;
}
あなたが書いたとおり、**あなた**はそれを解決しようとしています。 **私たちが**行った場合、公正ではないでしょう... - あなたは**具体的な**質問がありますか? – Olaf
秘密は配列を回転させる必要はないということです。 '%'演算子はあなたの友人です。 –
@Olafほとんどのテストケースは動作していますが、タイムアウトしているコードを送信すると意味します。私のコードの一部でタイムアウトが発生するというヒントを教えていただければ幸いです。 :) – Nimmi