Submission #54862599


Source Code Expand

Copy
@stdin = external global i32*, align 8
@format = private unnamed_addr constant [6 x i8] c"%d %s\00", align 1
define i32 @main(i32 %0, i8** %1) {
;;
%3 = load i32*, i32** @stdin, align 8
%4 = alloca [16 x i8], align 16
%5 = alloca [16 x i8], align 16
%6 = alloca [2048 x i8], align 16
%7 = getelementptr inbounds [16 x i8], [16 x i8]* %4, i32 0, i32 0
%8 = getelementptr inbounds [16 x i8], [16 x i8]* %5, i32 0, i32 0
%9 = getelementptr inbounds [2048 x i8], [248 x i8]* %6, i32 0, i32 0
call i8* @fgets(i8* %7, i32 16, i32* %3)
call i8* @fgets(i8* %8, i32 16, i32* %3)
call i8* @fgets(i8* %9, i32 2048, i32* %3)
;;
%13 = call i32 @atoi(i8* %7)
%14 = call i32 @atoi(i8* %8)
%15 = call i8* @strchr(i8* %8, i32 32)
%16 = call i32 @atoi(i8* %15)
 
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
@stdin = external global i32*, align 8

@format = private unnamed_addr constant [6 x i8] c"%d %s\00", align 1

define i32 @main(i32 %0, i8** %1) {
  ;; メモリを確保し、入力を読み込む
  %3 = load i32*, i32** @stdin, align 8
  %4 = alloca [16 x i8], align 16
  %5 = alloca [16 x i8], align 16
  %6 = alloca [2048 x i8], align 16
  %7 = getelementptr inbounds [16 x i8], [16 x i8]* %4, i32 0, i32 0
  %8 = getelementptr inbounds [16 x i8], [16 x i8]* %5, i32 0, i32 0
  %9 = getelementptr inbounds [2048 x i8], [248 x i8]* %6, i32 0, i32 0
  call i8* @fgets(i8* %7, i32 16, i32* %3)
  call i8* @fgets(i8* %8, i32 16, i32* %3)
  call i8* @fgets(i8* %9, i32 2048, i32* %3)
  ;; 数値をパースし、加算する
  %13 = call i32 @atoi(i8* %7)
  %14 = call i32 @atoi(i8* %8)
  %15 = call i8* @strchr(i8* %8, i32 32)
  %16 = call i32 @atoi(i8* %15)
  %17 = add i32 %13, %14
  %18 = add i32 %17, %16
  ;; 文字列と組み合わせて出力する
  %19 = getelementptr inbounds [6 x i8], [6 x i8]* @format, i32 0, i32 0
  call i32 (i8*, ...) @printf(i8* %19, i32 %18, i8* %9)
  ret i32 0
}

declare i8* @fgets(i8*, i32, i32*)
declare i32 @printf(i8*, ...)
declare i32 @atoi(i8*)
declare i8* @strchr(i8*, i32)

Submission Info

Submission Time
Task PracticeA - Welcome to AtCoder
User mikecat
Language LLVM IR (Clang 16.0.6)
Score 100
Code Size 1253 Byte
Status AC
Exec Time 0 ms
Memory 1644 KB

Compile Error

warning: overriding the module target triple with x86_64-pc-linux-gnu [-Woverride-module]
1 warning generated.

Judge Result

Set Name All
Score / Max Score 100 / 100
Status
AC × 7
Set Name Test Cases
All 00_rnd_01.txt, 00_rnd_02.txt, 00_rnd_03.txt, 00_rnd_04.txt, 00_rnd_05.txt, 00_sample_1.txt, 00_sample_2.txt
Case Name Status Exec Time Memory
00_rnd_01.txt AC 0 ms 1624 KB
00_rnd_02.txt AC 0 ms 1612 KB
00_rnd_03.txt AC 0 ms 1612 KB
00_rnd_04.txt AC 0 ms 1636 KB
00_rnd_05.txt AC 0 ms 1608 KB
00_sample_1.txt AC 0 ms 1644 KB
00_sample_2.txt AC 0 ms 1584 KB


2024-06-23 (Sun)
09:53:10 +09:00