codevs3990:中国剩余定理2
2024-08-24 07:39:42
好久没做codevs啦
#include<cstdio>
#include<cstdlib>
#include<algorithm>
#include<cstring>
#include<vector>
#define MAXN 100000+10
#define ll long long
#define pb push_back
#define ft first
#define sc second
#define mp make_pair
using namespace std;
ll M=1LL,X;
ll c[],m[];
int n;
void extgcd(ll a,ll b,ll &x,ll &y){
if(!b){
x=,y=;
}
else{
ll xx,yy;
extgcd(b,a%b,xx,yy);
x=yy,y=xx-a/b*yy;
}
}
ll Inv(ll x,ll p){
//(x,p)=1
ll a,b;
extgcd(x,p,a,b);
return (a%p+p)%p;
}
ll a,b;
int main()
{ scanf("%d%lld%lld",&n,&a,&b);
for(int i=;i<=n;i++){
scanf("%lld%lld",&m[i],&c[i]);
M*=m[i];
}
for(int i=;i<=n;i++){
X+=c[i]*M/m[i]*Inv(M/m[i],m[i]);
}
X%=M;
ll s=(a-X)/M-;
while(X+s*M<a)s++;
ll t=(b-X)/M+;
while(X+t*M>b)t--;
ll ans=t-s+;
printf("%lld\n%lld\n",ans,(ans?X+M*s:0LL));
return ;
}
最新文章
- 以最简单方式学习Linux
- Node.js 爬虫初探
- 使用MySQL WorkBench导入数据库
- iOS如何获取网络图片(一)
- Linux find/grep命令
- Mysql note
- Linux 下 将使用Python-Django开发的web应用布置到服务器上(亲测有效)
- Maven 建 Struts2 基本实现 CURD Controller
- GoldenGate 传统抽取进程随 DataGuard 主备快速切换的方案(ADG 模式)
- Java 控制台输入数字 输出乘法表(代码练习)
- IP的计算
- MySQL慢查询 - 开启慢查询
- CRLF攻击的一篇科普:新浪某站CRLF Injection导致的安全问题(转)
- 【T01】理解面向连接和无连接协议之间的区别
- SpringdataJpa的官方API学习
- MYSQL escape用法--转义
- php的基本内容
- 2018.10.24 NOIP模拟 小 C 的宿舍(分治)
- CHtmlEditCtrl(1) : Use CHtmlEditCtrl to Create a Simple HTML Editor
- python 文件操作 练习:把一个目录下的所有文件名,打印一下,不要包含后缀名