Skip to content

toona note

競プロ中に複数回調べたこと

競技プログラミング中に私が複数回調べたことです。 普段は python を使っており c++ の文法には不慣れです。

出力

少数桁の固定

小数点以下 10 桁まで出力するならば。

cout << fixed << setprecision(10) << ans << endl;

ラムダ式

[&](引数) -> 戻り値型 {関数}

// ABC240 F
auto f = [=](ll D, ll d, ll m) -> ll {
    return D + m * d + x * (m + 1) * m / 2;
};

引っかかったとこ

long long で宣言しても 1 << 60 は 0 になる。

int main() {
    int a = 1 << 60;
    long long b = 1 << 60;
    long long c = 1LL << 60;

    long long d = 1;
    d <<= 60;

    printf("a: %d\nb: %lld\nc: %lld\nd: %lld", a, b, c, d);

}

/*
a: 0
b: 0
c: 1152921504606846976
d: 1152921504606846976
*/