제출 #1284174

#제출 시각아이디문제언어결과실행 시간메모리
1284174escobrandMatching (CEOI11_mat)C++20
37 / 100
481 ms23248 KiB
#include <bits/stdc++.h> using namespace std; #define fi first #define se second #define ll long long #define all(v) v.begin(),v.end() #define mk make_pair #define pb push_back #define eb emplace_back typedef pair<int,int> pii; int i,n,m,j; const int maxn = 1e6 + 10; int a[maxn]; int b[maxn]; vector<int>com; int bit[maxn]; void up(int i,int tmp) { for(;i<maxn;i+=i&-i)bit[i] += tmp; } int cal(int i) { int ans = 0; for(;i;i-=i&-i)ans += bit[i]; return ans; } int main() { ios_base::sync_with_stdio(false); cin.tie(0); if(fopen("MOHINHGIA.INP","r")) { freopen("MOHINHGIA.INP","r",stdin); freopen("MOHINHGIA.OUT","w",stdout); } cin>>n>>m; for(i = 1;i<=n;i++) { int t; cin>>t; a[t-1]=i; } for(i = 0;i<n;i++) { // cin>>a[i]; up(a[i],1); a[i] = cal(a[i]); } for(i = 0;i<maxn;i++)bit[i] = 0; com.resize(m); for(i = 0;i<m;i++) { cin>>b[i]; com[i] = b[i]; } sort(all(com)); com.resize(unique(all(com))-com.begin()); int l = 0; vector<int>ans; for(i = 0;i<m;i++) { b[i] = upper_bound(all(com),b[i])-com.begin(); up(b[i],1); int tmp = cal(b[i]); while(i-l>=0 && tmp != a[i-l]) { tmp -= (b[l]<b[i]); up(b[l++],-1); } if(i-l==n-1)ans.pb(l+1); } cout<<ans.size()<<'\n'; for(int k : ans)cout<<k<<' '; return 0; }

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

mat.cpp: In function 'int main()':
mat.cpp:39:16: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
   39 |         freopen("MOHINHGIA.INP","r",stdin);
      |         ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
mat.cpp:40:16: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
   40 |         freopen("MOHINHGIA.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...
#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...
#Verdict Execution timeMemoryGrader output
Fetching results...