제출 #1290383

#제출 시각아이디문제언어결과실행 시간메모리
1290383uocgiInspections (NOI23_inspections)C++20
29 / 100
1348 ms1114112 KiB
#include <bits/stdc++.h> using namespace std; #define ll long long #define fi first #define se second #define pb push_back #define ii pair<int,int> #define int long long #define TASK "Inspections" const int maxn = 3e5+5; const int mod = 1e9+7; int m,n,q; ii a[maxn]; namespace sub1{ vector<int> b; int pos[maxn]; int calc(int x){ int cnt = 0; for (int i = 1;i<=n;i++) pos[i] = -1; for (int i = (int)b.size()-1;i>=0;i--){ // cout << i << " " << pos[b[i]] << "\n"; if (pos[b[i]]!=-1){ if (pos[b[i]]-i-1>=x) cnt++; } pos[b[i]] = i; } return cnt; } void solve(){ for (int i = 1;i<=m;i++){ for (int j = a[i].fi;j<=a[i].se;j++){ b.pb(j); } } // for (int x : b) cout << x << " "; // cout << "\n"; while (q--){ int x; cin >> x; cout << calc(x) << " "; } } } namespace sub2{ vector<int> b; int pos[maxn]; int calc(int x){ int cnt = 0; for (int i = 1;i<=n;i++) pos[i] = -1; for (int i = (int)b.size()-1;i>=0;i--){ // cout << i << " " << pos[b[i]] << "\n"; if (pos[b[i]]!=-1){ if (pos[b[i]]-i-1>=x) cnt++; } pos[b[i]] = i; } return cnt; } vector<int> diff; void prepare(){ for (int i = 1;i<=n;i++) pos[i] = -1; for (int i = (int)b.size()-1;i>=0;i--){ // cout << i << " " << pos[b[i]] << "\n"; if (pos[b[i]]!=-1){ diff.pb(pos[b[i]]-i-1); } pos[b[i]] = i; } sort(diff.begin(),diff.end()); } void solve(){ for (int i = 1;i<=m;i++){ for (int j = a[i].fi;j<=a[i].se;j++){ b.pb(j); } } prepare(); while (q--){ int x; cin >> x; int lb = lower_bound(diff.begin(),diff.end(),x)-diff.begin(); cout << diff.size()-lb << " "; } } } namespace sub3{ bool check(){ for (int i = 1;i<=m;i++) if (a[i].fi!=1) return 0; return 1; } void solve(){ } } signed main(){ ios_base::sync_with_stdio(0),cin.tie(0),cout.tie(0); if (fopen(TASK".inp","r")){ freopen(TASK".inp","r",stdin); freopen(TASK".out","w",stdout); } cin >> n >> m >> q; for (int i = 1;i<=m;i++) cin >> a[i].fi >> a[i].se; // sub1::solve(); sub2::solve(); }

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

Main.cpp: In function 'int main()':
Main.cpp:96:16: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
   96 |         freopen(TASK".inp","r",stdin);
      |         ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~
Main.cpp:97:16: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
   97 |         freopen(TASK".out","w",stdout);
      |         ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...