Submission #50102025
Source Code Expand
Copy
# お手本 https://atcoder.jp/contests/abc338/submissions/49757867P = 998244353class Numdef self.from_s slen = 0# 左端(ひだりはし)に起源があり現在地までに終わる値の和(lsum)。@=現在地# -# --# ---@lsum = val = 0# 左側(ひだりがわ)に起源があり現在地で終わる値の和(rsum)とその累積和(sum)。@=現在地# ---@# --@# -@sum = rsum = 0s.bytes{|d|d -= 0x30
# お手本 https://atcoder.jp/contests/abc338/submissions/49757867 P = 998244353 class Num def self.from_s s len = 0 # 左端(ひだりはし)に起源があり現在地までに終わる値の和(lsum)。@=現在地 # - # -- # ---@ lsum = val = 0 # 左側(ひだりがわ)に起源があり現在地で終わる値の和(rsum)とその累積和(sum)。@=現在地 # ---@ # --@ # -@ sum = rsum = 0 s.bytes{|d| d -= 0x30 len += 1 lsum += val = (val*10+d)%P sum += rsum = (rsum*10+d*len)%P } return new len,val,lsum,rsum,sum end def initialize *args @len,@val,@lsum,@rsum,@sum = args.map{ _1%P } end attr_reader :len,:val,:lsum,:rsum,:sum alias :inspect :sum def + r Num.new( @len+r.len, @val+r.val, @lsum+r.lsum+@val*r.len, r.rsum+@rsum+r.val*@len, @sum+@rsum*r.len+r.sum+r.lsum*@len ) end def * r Num.new( @len+r.len, @val*r.val, @lsum+r.lsum*@val, r.rsum+@rsum*r.val, @sum+r.sum+@rsum*r.lsum ) end end _ = Num.method:from_s p eval gets.gsub(/[1-9]+/){ "_['#$&']" }
Submission Info
Submission Time | |
---|---|
Task | G - evall |
User | ds14050 |
Language | Ruby (ruby 3.2.2) |
Score | 600 |
Code Size | 1127 Byte |
Status | AC |
Exec Time | 1759 ms |
Memory | 660380 KB |
Judge Result
Set Name | Sample | All | ||||
---|---|---|---|---|---|---|
Score / Max Score | 0 / 0 | 600 / 600 | ||||
Status |
|
|
Set Name | Test Cases |
---|---|
Sample | 01-sample.txt, 02-sample.txt |
All | 01-sample.txt, 02-sample.txt, 03-hidden.txt, 04-hidden.txt, 05-hidden.txt, 06-hidden.txt, 07-hidden.txt, 08-hidden.txt, 09-hidden.txt, 10-hidden.txt, 11-hidden.txt, 12-hidden.txt, 13-hidden.txt, 14-hidden.txt, 15-hidden.txt, 16-hidden.txt, 17-hidden.txt, 18-hidden.txt, 19-hidden.txt, 20-hidden.txt, 21-hidden.txt, 22-hidden.txt, 23-hidden.txt, 24-hidden.txt, 25-hidden.txt, 26-hidden.txt, 27-hidden.txt, 28-hidden.txt, 29-hidden.txt, 30-hidden.txt, 31-hidden.txt, 32-hidden.txt, 33-hidden.txt, 34-hidden.txt |
Case Name | Status | Exec Time | Memory |
---|---|---|---|
01-sample.txt | AC | 117 ms | 17180 KB |
02-sample.txt | AC | 47 ms | 17156 KB |
03-hidden.txt | AC | 46 ms | 17240 KB |
04-hidden.txt | AC | 46 ms | 16808 KB |
05-hidden.txt | AC | 149 ms | 69328 KB |
06-hidden.txt | AC | 1754 ms | 660328 KB |
07-hidden.txt | AC | 1759 ms | 660380 KB |
08-hidden.txt | AC | 1714 ms | 531276 KB |
09-hidden.txt | AC | 146 ms | 75100 KB |
10-hidden.txt | AC | 147 ms | 74832 KB |
11-hidden.txt | AC | 904 ms | 339928 KB |
12-hidden.txt | AC | 1293 ms | 448376 KB |
13-hidden.txt | AC | 1220 ms | 362368 KB |
14-hidden.txt | AC | 1723 ms | 531384 KB |
15-hidden.txt | AC | 1313 ms | 448236 KB |
16-hidden.txt | AC | 903 ms | 275808 KB |
17-hidden.txt | AC | 116 ms | 24656 KB |
18-hidden.txt | AC | 470 ms | 154076 KB |
19-hidden.txt | AC | 114 ms | 25520 KB |
20-hidden.txt | AC | 116 ms | 25152 KB |
21-hidden.txt | AC | 115 ms | 24280 KB |
22-hidden.txt | AC | 124 ms | 25956 KB |
23-hidden.txt | AC | 150 ms | 31264 KB |
24-hidden.txt | AC | 184 ms | 41836 KB |
25-hidden.txt | AC | 689 ms | 181092 KB |
26-hidden.txt | AC | 386 ms | 101108 KB |
27-hidden.txt | AC | 278 ms | 86852 KB |
28-hidden.txt | AC | 289 ms | 81312 KB |
29-hidden.txt | AC | 224 ms | 82776 KB |
30-hidden.txt | AC | 142 ms | 68468 KB |
31-hidden.txt | AC | 126 ms | 46188 KB |
32-hidden.txt | AC | 159 ms | 50708 KB |
33-hidden.txt | AC | 49 ms | 17376 KB |
34-hidden.txt | AC | 47 ms | 17540 KB |