Может ли кто-нибудь сказать мне, пожалуйста, почему этот код не принимается? Примечание:Я не прошу решения, просто скажите мне, где этот код терпит неудачу
Страница Конкурса | CodeChef[^]
Ограничения:>
Все элементы равны >=1, то есть a[i]>=1 и (10>=t>=1) и (700>=n>=1)
Что я уже пробовал:
я перепробовал почти все типы тестовых случаев, которые я мог бы сделать, все они вышли правильными, и я не могу распознать, где мой код терпит неудачу.
#include<stdio.h> int main() { long long int n, t, k, i, j, max[701], a[701][701], sum, flag; scanf( "%lld", &t ); for( k = 0 ; k < t ; k++ ) { scanf( "%lld", &n ); for( i = 0 ; i < n ; i++ ) { for( j = 0 ; j < n ; j++ ) { scanf( "%lld", &a[i][j] ); if( j == 0) max[i] = a[i][0]; if( a[i][j] > max[i] ) max[i] = a[i][j]; } } sum = 0, flag = 0; for( i = 0 ; i < n-1 ; i++ ) { if( max[i] < max[i+1]) sum = sum + max[i]; else { flag = 1; break; } } if(flag == 1) printf("-1\n"); else { sum = sum + max[n-1]; printf("%lld\n", sum ); } } }
Richard MacCutchan
Что происходит, когда вы запускаете его?
ahmedarifhasan
он успешно работает,но компилятор codechef не принимает, конечно, есть какая-то ошибка, которую я не могу распознать.
Richard MacCutchan
Задать codechef. Пока вы не объясните проблему, трудно угадать предложение.
ahmedarifhasan
ну, а вы можете сказать тестовый случай, когда это не удается?
Richard MacCutchan
Где что терпит неудачу? Вы даже не объяснили, что должен делать этот код.
Patrice T
Что именно говорит CodeChef?
KarstenK
Нам действительно нужны полные и исчерпывающие сообщения об ошибках. Также с номерами строк в вашем коде!!!
Я вижу, что вам нужен только размер массива 700. Но самое главное: проверьте это в цикле while. Немного больше выходных данных и комментариев к коду всегда полезны ;-)