提出 #14225823
ソースコード 拡げる
#include <iostream>
#include <vector>
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <math.h>
#include <algorithm>
#define rep(i,n) for(int i = 0; i < (n); ++i)
#define MOOD 1000000007
const double PI=3.14159265358979323846;
using namespace std;
using ll = long long;
using P = pair<int,int>;
int cmpnum(const void *a, const void *b)
{
long long *A = (long long *)a;
long long *B = (long long *)b;
if (*A > *B)
return 1;
if (*A < *B)
return -1;
return 0;
}
int char_sort_max( const void * a , const void * b ) {
return strcmp(( char * )a , ( char * )b );
}
int char_sort_min( const void * a , const void * b ) {
return strcmp(( char * )a , ( char * )b );
}
int gcd(int x, int y)
{
int t;
while (y != 0) {
t = x % y; x = y; y = t;
}
return x;
}/*最大公約数*/
ll lcm(ll a, ll b)
{
return (ll)((ll)(a * b) / (ll)(gcd(a, b)));
}/*最小公倍数*/
bool IsPrime(int num)
{
if (num < 2) return false;
else if (num == 2) return true;
else if (num % 2 == 0) return false; // 偶数はあらかじめ除く
double sqrtNum = sqrt(num);
for (int i = 3; i <= sqrtNum; i += 2)
{
if (num % i == 0)
{
// 素数ではない
return false;
}
}
// 素数である
return true;
}/*素数判定*/
vector<pair<long long, long long> > prime_factorize(long long N) {
vector<pair<long long, long long> > res;
for (long long a = 2; a * a <= N; ++a) {
if (N % a != 0) continue;
long long ex = 0; // 指数
// 割れる限り割り続ける
while (N % a == 0) {
++ex;
N /= a;
}
// その結果を push
res.push_back({a, ex});
}
// 最後に残った数について
if (N != 1) res.push_back({N, 1});
return res;
}/*素因数分解*/
struct UnionFind{
vector<int> d;
UnionFind(int n = 0):d(n,-1){};
int find(int x){
if(d[x] < 0) {
return x;
}
else{
return d[x] = find(d[x]);
}
}
bool unite(int x, int y) {
x = find(x);
y = find(y);
if (x == y) return false;
if (d[x] > d[y]) swap(x, y);
d[x] += d[y];
d[y] = x;
return true;
}
bool same(int x, int y){
return find(x) == find(y);
}
int size(int x){
return -d[find(x)];
}
};
struct mint {
ll x;
mint(ll x) : x((x % MOOD + MOOD) % MOOD) {}
mint operator-() const { return mint(-x); }
mint &operator+=(const mint a) {
if ((x += a.x) >= MOOD) x -= MOOD;
return *this;
}
mint& operator-=(const mint a) {
if ((x += MOOD-a.x) >= MOOD) x -= MOOD;
return *this;
}
mint &operator*=(const mint a) {
if ((x *= a.x) %= MOOD);
return *this;
}
mint operator+(const mint a)const {
mint res(*this);
return res += a;
}
mint operator-(const mint a) const {
mint res(*this);
return res -= a;
}
mint operator*(const mint a) const {
mint res(*this);
return res *= a;
}
mint pow(ll t) const{
if(!t) return 1;
mint a = pow(t>>1);
a *= a;
if(t&1) a *= *this;
return a;
}
mint inv() const {
return pow(MOOD-2);
}
mint& operator/=(const mint a) {
return (*this) *= a.inv();
}
mint operator/(const mint a) const {
mint res(*this);
return res/=a;
}
};
mint kaijyo(int n) {
if (n == 0) return 1;
mint x = kaijyo(n/2);
x *= x;
if (n%2 == 1) x *= 2;
return x;
}
mint choose(int n, int a) {
mint x = 1, y = 1;
rep(i,a) {
x *= n-i;
y *= i+1;
}
return x / y;
}
int shakutori(ll x, ll n,ll k, ll a[])
{
long long int ai,res,ok,ng,mid;
res = 0;
for (int i = 0; i < n; i++)
{
// printf("%lld\n", res);
ai = a[i];
if(ai == 0){
if(x < 0){
res += 0;
} else {
res += n - 1;
}
} else
{
if(ai <= -1){
if (ai * ai <= x){
res -= 1;
}
ok = n;
ng = -1;
while (ok-ng>1)
{
mid = (ok + ng) / 2;
if(a[mid]*ai<=x){
ok = mid;
} else {
ng = mid;
}
}
res += n - ok;
} else
{
if (ai * ai <= x)
{
res -= 1;
}
ok = -1;
ng = n;
while (ng - ok > 1)
{
mid = (ok + ng) / 2;
if (a[mid] * ai <= x)
{
ok = mid;
}
else
{
ng = mid;
}
}
res += ok + 1;
}
}
}
// printf("%lld\n", res);
return k <= res / 2;
}
int two_n(int tei, int jyousuu){
if(jyousuu == 0) return 1;
int x = two_n(tei,jyousuu/2);
x *= x ;
if(jyousuu % 2 == 1) {
x *= tei;
}
return x;
}
vector<vector<int>> bit_search(int N){
vector<vector<int>> bit_sum(two_n(2,N));
int num = 0;
for(int bit = 0; bit < (1<<N); ++bit){
for(int i = 0; i < N; ++i){
if(bit & (1 << i)){
bit_sum[num].push_back((i));
}
}
num++;
}
return bit_sum;
}
vector<vector<int>> bit_search_array(int N){
vector<vector<int>> bit_sum(two_n(2,N),vector<int>(N,0));
int num = 0;
for(int bit = 0; bit < (1<<N); ++bit){
for(int i = 0; i < N; ++i){
if(bit & (1 << i)){
bit_sum[bit][i] = 1;
}
}
num++;
}
return bit_sum;
}
struct jyanken{
int tensuu;
char te;
char aite;
};
int cmp_tensu(const void * n1, const void * n2)
{
if (((jyanken *)n1)->tensuu < ((jyanken *)n2)->tensuu)
{
return 1;
}
else if (((jyanken *)n1)->tensuu > ((jyanken *)n2)->tensuu)
{
return -1;
}
else
{
return 0;
}
}/*structの要素でのソート*/
int main() {
ll A,V;
cin >> A >> V;
ll B,W;
cin >> B >> W;
ll T;
cin >> T;
ll tumari = V - W;
ll dis =abs(A-B);
if(T*tumari >= dis) {
cout << "YES";
}
else {
cout << "NO";
}
}
提出情報
提出日時
2020-06-13 21:06:46+0900
問題
B - Tag
ユーザ
manjimanji
言語
C++ (GCC 9.2.1)
得点
200
コード長
7111 Byte
結果
AC
実行時間
2 ms
メモリ
3728 KiB
コンパイルエラー
./Main.cpp: In member function ‘mint& mint::operator*=(mint)’:
./Main.cpp:144:32: warning: suggest braces around empty body in an ‘if’ statement [-Wempty-body]
144 | if ((x *= a.x) %= MOOD);
| ^
ジャッジ結果
セット名
Sample
All
得点 / 配点
0 / 0
200 / 200
結果
セット名
テストケース
Sample
sample01.txt, sample02.txt, sample03.txt
All
sample01.txt, sample02.txt, sample03.txt, in01.txt, in02.txt, in03.txt, in04.txt, in05.txt, in06.txt, in07.txt, in08.txt, in09.txt, in10.txt, in11.txt, in12.txt, in13.txt, in14.txt, sample01.txt, sample02.txt, sample03.txt
ケース名
結果
実行時間
メモリ
in01.txt
AC
2 ms
3464 KiB
in02.txt
AC
2 ms
3612 KiB
in03.txt
AC
2 ms
3416 KiB
in04.txt
AC
2 ms
3724 KiB
in05.txt
AC
2 ms
3728 KiB
in06.txt
AC
2 ms
3424 KiB
in07.txt
AC
2 ms
3548 KiB
in08.txt
AC
2 ms
3412 KiB
in09.txt
AC
2 ms
3604 KiB
in10.txt
AC
2 ms
3516 KiB
in11.txt
AC
2 ms
3424 KiB
in12.txt
AC
2 ms
3728 KiB
in13.txt
AC
2 ms
3636 KiB
in14.txt
AC
2 ms
3408 KiB
sample01.txt
AC
2 ms
3412 KiB
sample02.txt
AC
2 ms
3420 KiB
sample03.txt
AC
2 ms
3592 KiB