Accepted
foo.cc: In function 'int main()': foo.cc:21:7: warning: unused variable 'j' [-Wunused-variable] ll i, j, n, m; ^ foo.cc:21:13: warning: unused variable 'm' [-Wunused-variable] ll i, j, n, m; ^ foo.cc:22:6: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result] scanf("%lld", &n); ~~~~~^~~~~~~~~~~~ foo.cc:24:6: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result] scanf("%lld %lld", &p[i], &a[i]); ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
正在同步测试数据,请稍后 [Hydro](https://hydro.ac)提供评测服务
代码
#include <iostream>
#include <cstdio>
#include <cstring>
#include <algorithm>
#define ll long long
using namespace std;
ll M = 1, p[105], a[105], ans;
void exgcd(ll a, ll b, ll &x, ll &y){
if(b == 0) x = 1, y = 0;
else {
exgcd(b,a%b,y,x);
y -= (a/b) * x;
}
}
ll inv(ll a, ll b){
ll x, y;
exgcd(a,b,x,y);
return (x%b+b)%b;
}
int main(){
ll i, j, n, m;
scanf("%lld", &n);
for(i = 1; i <= n; i++){
scanf("%lld %lld", &p[i], &a[i]);
M *= p[i];
}
for(i = 1; i <= n; i++) p[i] = M / p[i];
for(i = 1; i <= n; i++){
ans += inv(p[i], M/p[i]) * a[i] * p[i] % M;
}
ans %= M;
printf("%lld",ans);
return 0;
}
信息
- 递交者
- 类型
- 递交
- 题目
- P1071 曹冲养猪
- 题目数据
- 下载
- 语言
- C++
- 递交时间
- 2021-08-18 09:23:17
- 评测时间
- 2021-08-18 09:23:17
- 评测机
- 分数
- 100
- 总耗时
- 23ms
- 峰值内存
- 384.0 KiB