Submission #925609

#TimeUsernameProblemLanguageResultExecution timeMemory
925609AmrSličnost (COI23_slicnost)C++14
24 / 100
3064 ms860 KiB
#include <bits/stdc++.h> using namespace std; typedef long long ll; typedef long double ld; #define S second #define F first #define all(x) (x).begin(),(x).end() #define sz size() #define Yes cout << "YES" << endl #define No cout << "NO" << endl #define pb(x) push_back(x); #define endl '\n' #define fast ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0); ll INF=INT_MAX,mod=1e9+7; int TT=1; ll power(ll x, unsigned int y) { ll res = 1; x = x; // % mod; if (x == 0) return 0; while (y > 0) { if (y & 1) res = (res*x) ; // % mod; y = y>>1; x = (x*x) ; // % mod; } return res; } ll n , k, q; const int N = 5001; ll cnt[N]; int a[N]; int b[N]; int al[N]; void cal() { memset(al,0,sizeof al); memset(cnt,0,sizeof cnt); for(int i = 1; i < k; i++) cnt[a[i]]++; ll ans = 0; for(int j = k; j <= n ;j++) { ans = 0; cnt[a[j]]++; cnt[a[j-k]]--; if(cnt[a[j]]==2) ans++; if(cnt[a[j-k]]==1) ans--; // for(int i = 1; i < k; i++) { cnt[b[i]]++; if(cnt[b[i]]==2) ans++; } // for(int i = k; i <= n; i++) { cnt[b[i]]++; if(cnt[b[i]]==2) ans++; cnt[b[i-k]]--; if(cnt[b[i-k]]==1) ans--; // cout << ans << " " << j << " " << i << " " << 'h' << endl; al[ans]++; } for(int i = n-k+1; i <= n; i++) cnt[b[i]]--; } } void solve() { cin >> n >> k >> q; for(int i = 1; i <= n; i++) cin >> a[i]; for(int i = 1; i <= n; i++) cin >> b[i]; cal(); for(int i = n; i>= 1; i--) { if(al[i]){cout << i << " " << al[i] << endl; break;} } while(q--) { ll l; cin >> l; swap(a[l],a[l+1]); cal(); for(int i = n; i>= 1; i--) { if(al[i]){cout << i << " " << al[i] << endl; break;} } } } int main(){ //freopen("friday.in","r",stdin); //freopen("friday.out","w",stdout); fast; while(TT--) solve(); return 0; }

Compilation message (stderr)

Main.cpp: In function 'void cal()':
Main.cpp:41:5: warning: this 'for' clause does not guard... [-Wmisleading-indentation]
   41 |     for(int i = 1; i < k; i++)
      |     ^~~
Main.cpp:43:9: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the 'for'
   43 |         ll ans = 0;
      |         ^~
#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...