Submission #1119151

#TimeUsernameProblemLanguageResultExecution timeMemory
1119151CadocFinancial Report (JOI21_financial)C++14
0 / 100
4035 ms4432 KiB
#include<bits/stdc++.h> using namespace std; #define ll long long #define pii pair<int, int> #define fi first #define se second #define pb push_back #define all(x) (x).begin(), (x).end() #define el cout << '\n' #define INF 0x3f3f3f3f #define LINF 0x3f3f3f3f3f3f3f3f #define N 300005 int n, d; int a[N]; int par[N], sz[N]; int mark[N]; int dp[N]; int get(int u){ return par[u] = (u == par[u]? u:get(par[u])); } int join(int u, int v){ u = get(u), v = get(v); if(u == v) return 0; if(sz[u] < sz[v]) swap(u, v); sz[u] += sz[v]; par[v] = u; return 1; } void Solve(){ cin >> n >> d; for(int i=1; i<=n; ++i) cin >> a[i]; for(int i=1; i<=n; ++i){ par[i] = i; sz[i] = 1; } for(int i=1; i<=n; ++i){ dp[i] = 1; for(int j=max(1, i-d); j<i; ++j) if(a[j] < a[i]) mark[get(j)] = 1; for(int j=1; j<i; ++j) if(j >= i-d || mark[get(j)]){ if(a[j] < a[i]){ dp[i] = max(dp[i], dp[j] + 1); } } for(int j=max(1, i-d); j<i; ++j){ if(a[j] < a[i]) mark[get(j)] = 0; else join(i, j); } } int Ans = 1; for(int i=1; i<=n; ++i) if(get(n) == get(i) || i >= n-d) Ans = max(Ans, dp[i]); cout << Ans; } int main(){ ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0); #define NAME "TASK" if(fopen(NAME".inp", "r")){ freopen(NAME".inp", "r", stdin); freopen(NAME".out", "w", stdout); } Solve(); return 0; }

Compilation message (stderr)

Main.cpp: In function 'int main()':
Main.cpp:74:16: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
   74 |         freopen(NAME".inp", "r", stdin);
      |         ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~
Main.cpp:75:16: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
   75 |         freopen(NAME".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...