耐心题 广东oj新生赛“我是好人2”
来源:互联网 发布:怎么清理mac上的内存 编辑:程序博客网 时间:2024/04/28 18:36
Problem G: 我是好人2
Description
众所周知,我是好人,不会出太难的题,题意简单得很,给定L,R,N,K,问存在多少个数X满足以下条件:
1:L <= X <= R
2:X % N == K
总共T(<=100000)组数据,每组数据的数字都是不超过1000000000的正整数.
Input
第一行组数T,第二行依次输入L,R,N,K,由1个空格间隔开
Output
只输出一行答案
Sample Input
31 1000000 1 01 1000000 2 01 1000000 3 1
Sample Output
1000000500000333334
#include<stdio.h>#include<string.h>#include<iostream>using namespace std;#include<algorithm>int main(){ //{ freopen("Input.txt","r",stdin);// freopen("abcd.txt","w",stdout); long long test; scanf("%lld",&test); while(test--) { long long i,l,r,j,n,k,sbr,sbl,count=0; scanf("%lld%lld%lld%lld",&l,&r,&n,&k); sbl=-1; sbr=-1; if(n<=k) { printf("0\n"); continue; } if(k==0) { printf("%lld\n",(r)/n-(l-1)/n); continue; } if(l%n==k) { sbl=l; } else { if(l%n>k) { sbl=(l/n+1)*n+k; } else sbl=l+(k-l%n); } if(r%n==k) { sbr=r; } else { if(r%n<k) { sbr=(r/n-1)*n+k; } else { sbr=r-(r%n-k); } } // printf("%lld %lld \n",sbl,sbr); if(sbl<sbr) printf("%lld\n",(sbr-sbl)/n-1+2); else if(sbl==sbr) { printf("1\n"); } else { printf("0\n"); } }} /************************************************************** Problem: 1144 User: 516108736 Language: C++ Result: Accepted Time:104 ms Memory:1776 kb****************************************************************/
0 0
- 耐心题 广东oj新生赛“我是好人2”
- 我是好人2
- 【2015广东工业大学新生赛G】【区间统计 左右端点计数思想】我是好人2 区间范围有多少个数 模x余y
- 我是好人
- 我是好人
- 我是新生
- 我是个好人
- 我是个好人
- 我是一个好人
- GDUT决赛-我是好人
- GDUT决赛 我是好人
- gudt 我是好人4
- gdut 2016校赛决赛 Problem F我是好人4
- (初等数论)我是好人
- gdutProblem F: 我是好人4
- 我是大一的新生
- 华东交通大学2016届新生选拔赛:1010 我是签到题
- 因为我穷,所以我是好人
- 【数据拾遗(java描述)】--- 二叉树的基本操作
- Golang安装
- COCOS-3.X事件分发机制-触摸事件
- FZU 2082 过路费(树链剖分+BIT)
- php遍历数组
- 耐心题 广东oj新生赛“我是好人2”
- win32下将控制台程序改为窗口程序
- Android通过adb命令记录
- Linux下C语言编程
- (NO.00004)iOS实现打砖块游戏(十六):导弹发射道具的实现(下)
- zookeeper+hadoop+hbase 之 zookeeper
- AOSP git/repo
- 蓝桥杯 扶老奶奶过街 (逻辑推理)
- javaday15-集合框架