Submission #480277

# Submission time Handle Problem Language Result Execution time Memory
480277 2021-10-15T12:42:48 Z Jarif_Rahman Vepar (COCI21_vepar) C++17
70 / 70
263 ms 9600 KB
#include <bits/stdc++.h>
#define pb push_back
#define f first
#define sc second
using namespace std;
typedef long long int ll;
typedef string str;
const int lim = 1e7+1;
vector<bool> prm(lim, 1);
vector<int> pp;
vector<ll> cnt;
void solve(){
    int a, b, c, d;
    cin >> a >> b >> c >> d;
    a--, c--;
    for(int i = 0; i < pp.size(); i++){
        ll ss = pp[i];
        while(ss <= b){
            ll x = b/ss, y = a/ss;
            cnt[i] += x-y;
            ss*=pp[i];
        }
    }
    for(int i = 0; i < pp.size(); i++){
        ll ss = pp[i];
        while(ss <= d){
            ll x = d/ss, y = c/ss;
            cnt[i] -= x-y;
            ss*=pp[i];
        }
    }
    bool bl = 1;
    
    for(int i = 0; i < pp.size(); i++){
        if(cnt[i] > 0) bl = 0;
        cnt[i] = 0;
    }
    cout << (bl? "DA":"NE") << "\n";
}
int main(){
    ios_base::sync_with_stdio(0);
    cin.tie(0);
    for(int i = 2; i*i < lim; i++) if(prm[i]) for(int j = i*i; j < lim; j+=i) prm[j] = 0;
    for(int i = 2; i < lim; i++) if(prm[i]) pp.pb(i);
    cnt.assign(pp.size(), 0);
    int T; cin >> T; while(T--) solve();
}

Compilation message

Main.cpp: In function 'void solve()':
Main.cpp:16:22: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   16 |     for(int i = 0; i < pp.size(); i++){
      |                    ~~^~~~~~~~~~~
Main.cpp:24:22: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   24 |     for(int i = 0; i < pp.size(); i++){
      |                    ~~^~~~~~~~~~~
Main.cpp:34:22: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   34 |     for(int i = 0; i < pp.size(); i++){
      |                    ~~^~~~~~~~~~~
# Verdict Execution time Memory Grader output
1 Correct 96 ms 9364 KB Output is correct
2 Correct 106 ms 9480 KB Output is correct
3 Correct 97 ms 9464 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 90 ms 9452 KB Output is correct
2 Correct 125 ms 9480 KB Output is correct
3 Correct 108 ms 9372 KB Output is correct
4 Correct 115 ms 9456 KB Output is correct
5 Correct 100 ms 9408 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 89 ms 9380 KB Output is correct
2 Correct 102 ms 9464 KB Output is correct
3 Correct 98 ms 9452 KB Output is correct
4 Correct 93 ms 9464 KB Output is correct
5 Correct 91 ms 9464 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 130 ms 9368 KB Output is correct
2 Correct 128 ms 9372 KB Output is correct
3 Correct 200 ms 9456 KB Output is correct
4 Correct 153 ms 9404 KB Output is correct
5 Correct 154 ms 9600 KB Output is correct
6 Correct 134 ms 9476 KB Output is correct
7 Correct 238 ms 9480 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 182 ms 9480 KB Output is correct
2 Correct 116 ms 9376 KB Output is correct
3 Correct 105 ms 9380 KB Output is correct
4 Correct 130 ms 9560 KB Output is correct
5 Correct 129 ms 9400 KB Output is correct
6 Correct 192 ms 9392 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 184 ms 9396 KB Output is correct
2 Correct 141 ms 9460 KB Output is correct
3 Correct 104 ms 9396 KB Output is correct
4 Correct 146 ms 9480 KB Output is correct
5 Correct 141 ms 9500 KB Output is correct
6 Correct 192 ms 9476 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 193 ms 9456 KB Output is correct
2 Correct 150 ms 9400 KB Output is correct
3 Correct 120 ms 9476 KB Output is correct
4 Correct 124 ms 9460 KB Output is correct
5 Correct 121 ms 9396 KB Output is correct
6 Correct 239 ms 9448 KB Output is correct
7 Correct 263 ms 9396 KB Output is correct