Submission #3052034
Source Code Expand
#include <limits.h>
#include <math.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <time.h>
// 内部定数
#define D_ARRAY_MAX 100000 // 最大配列数
#ifdef D_TEST
static int siRes;
static FILE *szpFpT, *szpFpA;
#endif
// 実行メイン
int
fMain(
int piTNo // <I> テスト番号 1~
)
{
int i;
char lc1Buf[1024], lc1Out[1024];
// テストファイルオープン
#ifdef D_TEST
sprintf(lc1Buf, ".\\Test\\T%d.txt", piTNo);
szpFpT = fopen(lc1Buf, "r");
sprintf(lc1Buf, ".\\Test\\A%d.txt", piTNo);
szpFpA = fopen(lc1Buf, "r");
siRes = 0;
#endif
// 配列数取得
int liACnt;
#ifdef D_TEST
fgets(lc1Buf, sizeof(lc1Buf), szpFpT);
#else
fgets(lc1Buf, sizeof(lc1Buf), stdin);
#endif
sscanf(lc1Buf, "%d", &liACnt);
// 配列取得
int li1Array[D_ARRAY_MAX + 5];
for (i = 0; i < liACnt; i++) {
#ifdef D_TEST
fscanf(szpFpT, "%d", &li1Array[i]);
#else
fscanf(stdin, "%d", &li1Array[i]);
#endif
}
#ifdef D_TEST
fgets(lc1Buf, sizeof(lc1Buf), szpFpT);
#else
fgets(lc1Buf, sizeof(lc1Buf), stdin);
#endif
// 番兵追加
li1Array[liACnt] = -1;
// 算出
long long llSum = 0;
int liLen = 1;
for (i = 0; i < liACnt; i++) {
if (li1Array[i] < li1Array[i + 1]) { // 単調増加
liLen++;
}
else { // 単調増加ではない
llSum += (long long)liLen * (long long)(liLen + 1) / (long long)2;
liLen = 1;
}
}
// 結果セット
sprintf(lc1Out, "%lld\n", llSum);
// 結果表示
#ifdef D_TEST
fgets(lc1Buf, sizeof(lc1Buf), szpFpA);
if (strcmp(lc1Buf, lc1Out)) {
siRes = -1;
}
#else
printf("%s", lc1Out);
#endif
// テストファイルクローズ
#ifdef D_TEST
fclose(szpFpT);
fclose(szpFpA);
#endif
// テスト結果
#ifdef D_TEST
if (siRes == 0) {
printf("OK %d\n", piTNo);
}
else {
printf("NG %d\n", piTNo);
}
#endif
return 0;
}
int
main()
{
#ifdef D_TEST
int i;
for (i = D_TEST_SNO; i <= D_TEST_ENO; i++) {
fMain(i);
}
#else
fMain(0);
#endif
return 0;
}
Submission Info
Submission Time
2018-08-21 13:40:11+0900
Task
C - 単調増加
User
asugen0402
Language
C (GCC 5.4.1)
Score
100
Code Size
2106 Byte
Status
AC
Exec Time
12 ms
Memory
640 KB
Compile Error
./Main.c: In function ‘fMain’:
./Main.c:39:2: warning: ignoring return value of ‘fgets’, declared with attribute warn_unused_result [-Wunused-result]
fgets(lc1Buf, sizeof(lc1Buf), stdin);
^
./Main.c:49:3: warning: ignoring return value of ‘fscanf’, declared with attribute warn_unused_result [-Wunused-result]
fscanf(stdin, "%d", &li1Array[i]);
^
./Main.c:55:2: warning: ignoring return value of ‘fgets’, declared with attribute warn_unused_result [-Wunused-result]
fgets(lc1Buf, sizeof(lc1Buf), stdin);
^
Judge Result
Set Name
Sample
Subtask0
All
Score / Max Score
0 / 0
40 / 40
60 / 60
Status
Set Name
Test Cases
Sample
sample0.txt, sample1.txt, sample2.txt, sample3.txt
Subtask0
sample0.txt, sample1.txt, sample2.txt, sample3.txt, subtask0_0.txt, subtask0_1.txt, subtask0_10.txt, subtask0_11.txt, subtask0_12.txt, subtask0_13.txt, subtask0_14.txt, subtask0_2.txt, subtask0_3.txt, subtask0_4.txt, subtask0_5.txt, subtask0_6.txt, subtask0_7.txt, subtask0_8.txt, subtask0_9.txt
All
sample0.txt, sample1.txt, sample2.txt, sample3.txt, subtask0_0.txt, subtask0_1.txt, subtask0_10.txt, subtask0_11.txt, subtask0_12.txt, subtask0_13.txt, subtask0_14.txt, subtask0_2.txt, subtask0_3.txt, subtask0_4.txt, subtask0_5.txt, subtask0_6.txt, subtask0_7.txt, subtask0_8.txt, subtask0_9.txt, subtask1_0.txt, subtask1_1.txt, subtask1_10.txt, subtask1_11.txt, subtask1_12.txt, subtask1_13.txt, subtask1_14.txt, subtask1_15.txt, subtask1_2.txt, subtask1_3.txt, subtask1_4.txt, subtask1_5.txt, subtask1_6.txt, subtask1_7.txt, subtask1_8.txt, subtask1_9.txt
Case Name
Status
Exec Time
Memory
sample0.txt
AC
1 ms
128 KB
sample1.txt
AC
1 ms
128 KB
sample2.txt
AC
1 ms
128 KB
sample3.txt
AC
1 ms
128 KB
subtask0_0.txt
AC
1 ms
128 KB
subtask0_1.txt
AC
1 ms
128 KB
subtask0_10.txt
AC
1 ms
128 KB
subtask0_11.txt
AC
1 ms
128 KB
subtask0_12.txt
AC
1 ms
128 KB
subtask0_13.txt
AC
1 ms
128 KB
subtask0_14.txt
AC
1 ms
128 KB
subtask0_2.txt
AC
1 ms
128 KB
subtask0_3.txt
AC
1 ms
128 KB
subtask0_4.txt
AC
1 ms
128 KB
subtask0_5.txt
AC
1 ms
128 KB
subtask0_6.txt
AC
1 ms
128 KB
subtask0_7.txt
AC
1 ms
128 KB
subtask0_8.txt
AC
1 ms
128 KB
subtask0_9.txt
AC
1 ms
128 KB
subtask1_0.txt
AC
9 ms
512 KB
subtask1_1.txt
AC
4 ms
256 KB
subtask1_10.txt
AC
10 ms
512 KB
subtask1_11.txt
AC
10 ms
512 KB
subtask1_12.txt
AC
10 ms
512 KB
subtask1_13.txt
AC
10 ms
512 KB
subtask1_14.txt
AC
10 ms
512 KB
subtask1_15.txt
AC
12 ms
640 KB
subtask1_2.txt
AC
3 ms
256 KB
subtask1_3.txt
AC
7 ms
384 KB
subtask1_4.txt
AC
8 ms
512 KB
subtask1_5.txt
AC
7 ms
384 KB
subtask1_6.txt
AC
4 ms
384 KB
subtask1_7.txt
AC
9 ms
512 KB
subtask1_8.txt
AC
3 ms
256 KB
subtask1_9.txt
AC
2 ms
256 KB