P5170.传送门

P5170.传送门 题目内容Tk 要依次穿过 nn 个传送门。第 ii 个传送门有自己的开关周期它会连续开启 aiai​ 秒然后连续关闭 bibi​ 秒之后不断重复。所有传送门都从时刻 00 开始进入开启状态。Tk 初始位于第 11 个传送门前时间为 00。当他来到一个传送门前时如果该传送门此刻处于开启状态他会立刻通过耗时 11 秒到达下一个传送门前如果该传送门此刻处于关闭状态他会等待到它下一次开启然后立刻通过同样耗时 11 秒。请你求出 Tk 穿过所有传送门后到达终点的最早时刻。输入描述每个测试文件内包含多组测试数据。第一行输入一个整数 TT1≤T≤1061≤T≤106代表测试数据的组数。对于每组测试数据第一行输入一个整数 nn1≤n≤2×1051≤n≤2×105表示传送门的数量。接下来 nn 行每行输入两个整数 ai,biai​,bi​1≤ai,bi≤1091≤ai​,bi​≤109表示第 ii 个传送门在每个周期中开启和关闭的持续时间。保证单个测试文件中所有测试数据的 nn 之和不超过 106106。输出描述对于每组测试数据新起一行输出一个整数表示 Tk 穿过所有传送门后到达终点的最早时刻。样例1输入2 3 1 1 1 1 1 1 4 2 3 1 2 3 1 2 2输出5 6#includeiostream #includebits/stdc.h using namespace std; typedef long long ll; ll T,n; int main(){ cinT; while(T--){ cinn; ll curt0; for(int i0;in;i){ ll a,b; cinab; ll cab; ll mcurt%c; if(ma){ curt(c-m); } curt1; } coutcurtendl; } return 0; }