제출 #1239329

#제출 시각아이디문제언어결과실행 시간메모리
1239329hainam2k9Worst Reporter 3 (JOI18_worst_reporter3)C++20
100 / 100
302 ms7332 KiB
#include <bits/stdc++.h>
#define tt cin.tie(0), cout.tie(0), ios_base::sync_with_stdio(0)
#define fo freopen((NAME+".INP").c_str(), "r", stdin), freopen((NAME+".OUT").c_str(), "w", stdout)
#define ll long long
#define ull unsigned long long
#define i128 __int128
#define db long double
#define sz(a) ((int)(a).size())
#define pb emplace_back
#define pf emplace_front
#define pob pop_back
#define pof pop_front
#define lb lower_bound
#define ub upper_bound
#define fi first
#define se second
#define ins emplace
#define mp make_pair
using namespace std;
const int MOD = 1e9+7, MAXN = 5e5+5;
const string NAME = "";
int n,q;
ll a[MAXN];
inline int get(int pos, int t){
    return t-t%a[pos]-pos;
}
inline int bs(int t, int bound){
    if(t<=bound) return n+1;
    int l=1, r=n, rs=0;
    while(l<=r){
        int mid=(l+r)>>1;
        if(get(mid,t)<=bound) rs=n-mid+1, r=mid-1;
        else l=mid+1;
    }
    return rs;
}
int main()
{
    tt;
    if(fopen((NAME + ".INP").c_str(), "r")) fo;
    cin >> n >> q;
    for(int i = 1; i<=n; ++i)
        cin >> a[i];
    for(int i = 2; i<=n; ++i)
        a[i]=a[i-1]*((a[i]+a[i-1]-1)/a[i-1]);
    while(q--){
        int t,l,r;
        cin >> t >> l >> r;
        cout << bs(t,r)-bs(t,l-1) << "\n";
    }
}

컴파일 시 표준 에러 (stderr) 메시지

worst_reporter3.cpp: In function 'int main()':
worst_reporter3.cpp:3:19: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
    3 | #define fo freopen((NAME+".INP").c_str(), "r", stdin), freopen((NAME+".OUT").c_str(), "w", stdout)
      |            ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
worst_reporter3.cpp:40:45: note: in expansion of macro 'fo'
   40 |     if(fopen((NAME + ".INP").c_str(), "r")) fo;
      |                                             ^~
worst_reporter3.cpp:3:63: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
    3 | #define fo freopen((NAME+".INP").c_str(), "r", stdin), freopen((NAME+".OUT").c_str(), "w", stdout)
      |                                                        ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
worst_reporter3.cpp:40:45: note: in expansion of macro 'fo'
   40 |     if(fopen((NAME + ".INP").c_str(), "r")) fo;
      |                                             ^~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...