CF1101A Minimum Integer 模拟

题意翻译

题意简述

给出qqq组询问,每组询问给出l,r,dl,r,dl,r,d,求一个最小的正整数xxx满足d∣x d | x\ d∣x 且x?∈[l,r] x \not\in [l,r]x?∈[l,r]

输入格式

第一行一个正整数q(1≤q≤500)q(1 \leq q \leq 500)q(1≤q≤500)

接下来qqq行每行三个正整数l,r,d(1≤l≤r≤109,1≤d≤109)l,r,d(1 \leq l \leq r \leq 10^9 , 1 \leq d \leq 10^9)l,r,d(1≤l≤r≤109,1≤d≤109)表示一组询问

输出格式

对于每一组询问输出一行表示答案

题目描述

You are given q q q queries in the following form:

Given three integers li l_i li? , ri r_i ri? and di d_i di? , find minimum positive integer xi x_i xi? such that it is divisible by di d_i di? and it does not belong to the segment [li,ri] [l_i, r_i] [li?,ri?] .

Can you answer all the queries?

Recall that a number x x x belongs to segment [l,r] [l, r] [l,r] if l≤x≤r l \le x \le r l≤x≤r .

输入输出格式

输入格式:

The first line contains one integer q q q ( 1≤q≤500 1 \le q \le 500 1≤q≤500 ) — the number of queries.

Then q q q lines follow, each containing a query given in the format li l_i li? ri r_i ri? di d_i di? ( 1≤li≤ri≤109 1 \le l_i \le r_i \le 10^9 1≤li?≤ri?≤109 , 1≤di≤109 1 \le d_i \le 10^9 1≤di?≤109 ). li l_i li? , ri r_i ri? and di d_i di? are integers.

输出格式:

For each query print one integer: the answer to this query.

输入输出样例

输入样例#1:
复制

5
2 4 2
5 10 4
3 10 1
1 2 3
4 6 5

输出样例#1: 复制

6
4
1
3
10
#include<iostream>
#include<cstdio>
#include<algorithm>
#include<cstdlib>
#include<cstring>
#include<string>
#include<cmath>
#include<map>
#include<set>
#include<vector>
#include<queue>
#include<bitset>
#include<ctime>
#include<deque>
#include<stack>
#include<functional>
#include<sstream>
//#include<cctype>
//#pragma GCC optimize(2)
using namespace std;
#define maxn 100005
#define inf 0x7fffffff
//#define INF 1e18
#define rdint(x) scanf("%d",&x)
#define rdllt(x) scanf("%lld",&x)
#define rdult(x) scanf("%lu",&x)
#define rdlf(x) scanf("%lf",&x)
#define rdstr(x) scanf("%s",x)
typedef long long  ll;
typedef unsigned long long ull;
typedef unsigned int U;
#define ms(x) memset((x),0,sizeof(x))
const long long int mod = 1e9 + 7;
#define Mod 1000000000
#define sq(x) (x)*(x)
#define eps 1e-4
typedef pair<int, int> pii;
#define pi acos(-1.0)
//const int N = 1005;
#define REP(i,n) for(int i=0;i<(n);i++)
typedef pair<int, int> pii;
inline ll rd() {
    ll x = 0;
    char c = getchar();
    bool f = false;
    while (!isdigit(c)) {
        if (c == ‘-‘) f = true;
        c = getchar();
    }
    while (isdigit(c)) {
        x = (x << 1) + (x << 3) + (c ^ 48);
        c = getchar();
    }
    return f ? -x : x;
}

ll gcd(ll a, ll b) {
    return b == 0 ? a : gcd(b, a%b);
}
int sqr(int x) { return x * x; }

/*ll ans;
ll exgcd(ll a, ll b, ll &x, ll &y) {
    if (!b) {
        x = 1; y = 0; return a;
    }
    ans = exgcd(b, a%b, x, y);
    ll t = x; x = y; y = t - a / b * y;
    return ans;
}
*/

int q;
ll l, r, d;

int main() {
    ios::sync_with_stdio(0);
    cin >> q;
    while (q--) {
        cin >> l >> r >> d;
        ll L, R;
        if (l%d != 0) {
            L = (l / d);
        }
        else if (l%d == 0)L = l / d - 1;
        if (r%d == 0)R = r / d + 1;
        else if (r%d != 0)R = r / d + 1;
        if (L == 0) {
            cout << d * R << endl;
        }
        else {
            cout << 1 * d << endl;
        }
    }
    return 0;
}

原文地址:https://www.cnblogs.com/zxyqzy/p/10275693.html

时间: 2024-07-31 13:35:30

CF1101A Minimum Integer 模拟的相关文章

Minimum Integer sequence HDU - 3522(扩展KMP)

Minimum Integer sequence HDU - 3522 题意: 几行代码看了一个多小时!!吐血!! 明天再来补题~ 1 #include <bits/stdc++.h> 2 using namespace std; 3 const int maxn=100010; 4 char s[maxn],t[maxn]; 5 int lens,lent; 6 int nex[maxn],ex[maxn]; 7 int best; 8 9 void getnex(char* t){ 10

Minimum Integer CodeForces - 1101A (思维+公式)

You are given qq queries in the following form: Given three integers lili, riri and didi, find minimum positive integer xixi such that it is divisible by didi and it does not belong to the segment [li,ri][li,ri]. Can you answer all the queries? Recal

[ACM] ZOJ 3844 Easy Task (模拟+哈希)

Easy Task Time Limit: 2 Seconds      Memory Limit: 65536 KB You are given n integers. Your task is very easy. You should find the maximum integer a and the minimum integer b among these n integers. And then you should replace both a and bwith a-b. Yo

Educational Codeforces Round 75 (Rated for Div. 2) C. Minimize The Integer

链接: https://codeforces.com/contest/1251/problem/C 题意: You are given a huge integer a consisting of n digits (n is between 1 and 3?105, inclusive). It may contain leading zeros. You can swap two digits on adjacent (neighboring) positions if the swappi

Educational Codeforces Round 58 (Rated for Div. 2) (题解)

C题卡了一个小时, 又被教育场教育了... A. Minimum Integer 大意:求不在$[l,r]$范围内的最小被$d$整除的数 模拟 #include <iostream> #define REP(i,a,n) for(int i=a;i<=n;++i) using namespace std; int main() { int t; scanf("%d", &t); REP(i,1,t) { int l,r,d; scanf("%d%d%

Educational Codeforces Round 58 (Rated for Div. 2) (前两题题解)

感慨 这次比较昏迷最近算法有点飘,都在玩pygame...做出第一题让人hack了,第二题还昏迷想错了 A Minimum Integer(数学) 水题,上来就能做出来但是让人hack成了tle,所以要思考一下具体的过程 原本我是认为直接把d进行累加看什么时候不在那个segment内也就是那个范围之内结果tle 今天思考一下发现有两种情况 ①如果d本来就是小于左边界的那么就输出d就可以了,因为样例明确提示有原来的数也可以 ②然后就是如果d在范围之内或者范围外可以用余数来确定具体的数公式是: an

Educational Codeforces Round 58 (Rated for Div. 2)

A. Minimum Integer 水 #include<bits/stdc++.h> #define clr(a,b) memset(a,b,sizeof(a)) using namespace std; typedef long long ll; const int maxn=1e3+10; struct node{ ll num,mag; friend bool operator <(const node &a,const node &b){ return a.m

HDU 3480 斜率dp

Division Time Limit: 10000/5000 MS (Java/Others)    Memory Limit: 999999/400000 K (Java/Others)Total Submission(s): 5053    Accepted Submission(s): 1980 Problem Description Little D is really interested in the theorem of sets recently. There’s a prob

an easy problem(贪心)

An Easy Problem Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 8333   Accepted: 4986 Description As we known, data stored in the computers is in binary form. The problem we discuss now is about the positive integers and its binary form.