hdu 2018

一个悲伤的题,2018就四个因子,去除1和2018,然后快乐就行

#include <bits/stdc++.h>
using namespace std;
const int maxn = 2e5 + 10;
typedef long long ll;
int main()
{
    ll a, b, c, d;
    while(cin>>a>>b>>c>>d)
    {
        ll ans = 0;
        ll t1 = b / 2018 - a / 2018;
        if(a % 2018 == 0) t1++;
        ll t2 = d / 2018 - c / 2018;
        if(c % 2018 == 0) t2++;
        ans = t1 * (d - c + 1) + t2 * (b - a + 1) - t1 * t2;
        ll t3 = b / 1009 - a / 1009;
        if(a % 1009 == 0)
            t3++;
        t3 -= t1;
        ll t4 = d / 1009 - c / 1009;
        if(c % 1009 == 0) t4++;
        t4 -= t2;
        ll t5 = b / 2 - a / 2;
        if(a % 2 == 0) t5++;
        ll t6 = d / 2 - c / 2;
        if(c % 2 == 0)
            t6++;
        ans += t3 * (t6 - t2) + t4 * (t5 - t1);
        cout<<ans<<endl;
    }
    return 0;
}

 

posted @ 2019-01-22 20:04  悲离  阅读(140)  评论(0编辑  收藏  举报