Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

∑∑(aᵢ−aⱼ) で WA が出る #202

Closed
kmyk opened this issue Sep 1, 2021 · 3 comments
Closed

∑∑(aᵢ−aⱼ) で WA が出る #202

kmyk opened this issue Sep 1, 2021 · 3 comments
Labels
bug Something isn't working

Comments

@kmyk
Copy link
Collaborator

kmyk commented Sep 1, 2021

Summary / 概要

https://twitter.com/magrofly/status/1432932410321031172

@magurofly ありがとう

Steps to reproduce / 再現方法

Expected behavior / 期待される挙動

せめて TLE してほしい

Actual behavior / 実際の挙動

WA するのはだめだろ

@kmyk kmyk added the bug Something isn't working label Sep 1, 2021
@kmyk
Copy link
Collaborator Author

kmyk commented Sep 1, 2021

@riantkb
Copy link
Contributor

riantkb commented Sep 1, 2021

C++ に詳しくないので知らなかったんですが、std::accumulate の返り値は第 3 引数 __init の方に一致するらしく、(int64_t)0 にしてあげたら AC になりました
https://atcoder.jp/contests/abc186/submissions/25499595

@kmyk
Copy link
Collaborator Author

kmyk commented Sep 1, 2021

天才。私は式変形を疑ってばかりいました。

C++ のその仕様は知っていて accumulate を変換する時点ではちゃんと

https://github.com/kmyk/Jikka/blob/838de021c53dba2d7aadf30e411ea380a2868f65/src/Jikka/CPlusPlus/Convert/FromCore.hs#L367-L370

としてるのに、内部の構文木をコードに落とすところで余計なことをしていました:

https://github.com/kmyk/Jikka/blob/838de021c53dba2d7aadf30e411ea380a2868f65/src/Jikka/CPlusPlus/Format.hs#L199-L201

よければついでにプルリクもお願いしたい。せっかくデバッグ部分をやってもらったので

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

2 participants