zoukankan      html  css  js  c++  java
  • CodeForces 597A Divisibility

    水题。

    #include<iostream>
    #include<cstring>
    #include<cmath>
    #include<queue>
    #include<algorithm>
    #include<cstdio>
    using namespace std;
    
    long long k,L,R;
    
    int main()
    {
        scanf("%lld%lld%lld",&k,&L,&R);
        long long ans;
        if(L<0&&R>0) ans=R/k-L/k+1;
        else if(L==0&&R==0) ans=1;
        else if(L==0)
        {
            ans=1;
            if(R>=k) ans=ans+R/k-k/k+1;
        }
        else if(R==0)
        {
            ans=1;
            swap(L,R); L=-L; R=-R;
            if(R>=k) ans=ans+R/k-k/k+1;
        }
        else if(L>0)
        {
            if(R>=k)
            {
                long long left;
                if(L%k!=0) left=L/k+1;
                else left=L/k;
                long long right=R/k;
    
                if(left>right) ans=0;
                else ans=right-left+1;
            }
            else ans=0;
        }
        else
        {
            swap(L,R); L=-L; R=-R;
            if(R>=k)
            {
                long long left;
                if(L%k!=0) left=L/k+1;
                else left=L/k;
                long long right=R/k;
    
                if(left>right) ans=0;
                else ans=right-left+1;
            }
            else ans=0;
        }
        printf("%lld
    ",ans);
        return 0;
    }
  • 相关阅读:
    链表的头指针
    顺时针打印矩阵
    旋转数组的最小数字
    实现string类
    最长对称子串
    DFS和BFS
    最长公共子序列
    排序算法
    大端与小端
    交换两个数
  • 原文地址:https://www.cnblogs.com/zufezzt/p/5469146.html
Copyright © 2011-2022 走看看