【题解-Acwing】AcWing 5579. 增加模数(TLE)

题目:5579. 增加模数

题目描述

给定 H 对非负整数数对 (Ai,Bi) 和一个正整数 M。

请你计算并输出 (A1B1+A2B2+...+AHBH) mod M。

输入格式

第一行包含整数 T,表示共有 T 组测试数据。

每组数据第一行包含整数 M。

第二行包含整数 H。

接下来 H 行,每行包含两个整数 Ai,Bi。

输出格式

每组数据输出一行结果。

数据范围

1≤T≤100,

1≤M≤45000,

1≤H≤45000,

0≤Ai,Bi≤107,

Ai 和 Bi 不同时为 0。

时空限制

3s / 128MB

输入样例

复制代码
3
16
4
2 3
3 4
4 5
5 6
36123
1
2374859 3029382
17
1
3 18132

输出样例

复制代码
2
13195
13

代码 (TLE)

cpp 复制代码
#include<bits/stdc++.h>

using namespace std;

int T, p, H, a, b;
int res, sum;

int main(){
    scanf("%d", &T);
    while(T --){
        scanf("%d %d", &p, &H);
        res = 0;
        while(H --){
            scanf("%d %d", &a, &b);
            sum = 1 % p;
            a %= p;
            while(b){
                if(b & 1){
                    sum = sum * a % p;
                }
                b >>= 1;
                a = a * a % p;
            }
            res = (res + sum) % p;
        }
        printf("%d\n", res);
    }
    return 0;
}
相关推荐
吞下星星的少年·-·1 小时前
Div.3 CF 1131A题(排序,模拟)
算法·模拟·排序
aichitang20242 小时前
代数拓扑学与现代前沿视角
考研·算法·数学建模·ai·拓扑学·高考
二本咕咕-机械转码2 小时前
FreeRTOS深入解析(一)_链表与并发保护——哨兵循环链表、排序键游标、临界区与关调度
单片机·算法·链表
-银雾鸢尾-2 小时前
两数之和-C++实现
c++·算法
j7~2 小时前
【动态规划算法专题】动态规划五部曲实战:泰波那契数、三步问题、最小花费爬楼梯
c++·算法·动态规划·数据结构与算法
倍利福猎头公司官方账号2 小时前
大企业HR如何向猎头公司清晰传达AI岗位的技术需求?
人工智能·算法·机器人·求职招聘·业界资讯
揽星河..3 小时前
【C++】类和对象
c++·算法
D e re k ZH3 小时前
C++ 并发、未定义行为与工程化难点(No 3)
数据结构·c++·算法·面试
释厄6234 小时前
同性线套娃律——圆面积必然=1+2+...+n 的求和·圆心不与 π 相关
java·人工智能·算法·1024程序员节