Submission #767039

#TimeUsernameProblemLanguageResultExecution timeMemory
767039YassineBenYounesSecret (JOI14_secret)C++17
100 / 100
381 ms8224 KiB
#include<bits/stdc++.h> #include "secret.h" typedef long long ll; typedef unsigned long long ull; typedef long double ld; typedef double db; #include <ext/pb_ds/assoc_container.hpp> #include <ext/pb_ds/tree_policy.hpp> #define pbds tree<pair<int, int>, null_type, less<pair<int, int>>,rb_tree_tag, tree_order_statistics_node_update> using namespace __gnu_pbds; ll gcd(ll a , ll b) {return b ? gcd(b , a % b) : a ;} // greatest common divisor (PGCD) ll lcm(ll a , ll b) {return (a * b) / gcd(a , b);} // least common multiple (PPCM) int dx[8] = {1, 0, 0, -1, 1, 1, -1, -1}; int dy[8] = {0, 1, -1, 0, 1, -1, -1, 1}; #define endl "\n" #define ss second #define ff first #define all(x) (x).begin() , (x).end() #define pb push_back #define vi vector<int> #define vii vector<pair<int,int>> #define vl vector<ll> #define vll vector<pair<ll,ll>> #define pii pair<int,int> #define pll pair<ll,ll> #define pdd pair<double,double> #define vdd vector<pdd> #define speed ios::sync_with_stdio(false);cin.tie(0);cout.tie(0); using namespace std; ////////////////////Only Clear Code////////////////////////// void usaco_problem(){ freopen("milkvisits.in", "r", stdin); freopen("milkvisits.out", "w", stdout); } void init(){ #ifndef ONLINE_JUDGE freopen("input.txt", "r", stdin); freopen("output.txt", "w", stdout); #endif // ONLINE_JUDGE } const int mx = 1005; const int LOG = 25; const int inf = 1e9; const ll mod = 1e9+7; int range[mx][mx]; void Solve(int left, int right) { int mid, i; if (right - left <= 1) { return; } mid = (left + right) / 2; for (i = mid - 1; i >= left; --i) { if (range[i][mid] == -1) { range[i][mid] = Secret(range[i][i + 1], range[i + 1][mid]); } } for (i = mid + 1; i <= right; ++i) { if (range[mid][i] == -1) { range[mid][i] = Secret(range[mid][i - 1], range[i - 1][i]); } } Solve(left, mid); Solve(mid, right); } void Init(int N, int A[]) { int i, j; for (i = 0; i <= N; ++i) { for (j = 0; j <= N; ++j) { range[i][j] = -1; } } for (i = 0; i < N; ++i) { range[i][i + 1] = A[i]; } Solve(0, N); } int Query(int L, int R) { int i; for (i = L + 1; i <= R; ++i) { if (range[L][i] != -1 && range[i][R + 1] != -1) { return Secret(range[L][i], range[i][R + 1]); } } return range[L][R + 1]; } /* void run_case(){ int n;cin >> n; } int main(){ init(); speed; int t; cin >> t; //t = 1; while(t--){ run_case(); } }*/ /* NEVER GIVE UP! DOING SMTHNG IS BETTER THAN DOING NTHNG!!! Your Guide when stuck: - Continue keyword only after reading the whole input - Don't use memset with testcases - Check for corner cases(n=1, n=0) - Check where you declare n(Be careful of declaring it globally and in main) */

Compilation message (stderr)

secret.cpp: In function 'void usaco_problem()':
secret.cpp:33:12: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
   33 |     freopen("milkvisits.in", "r", stdin);
      |     ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
secret.cpp:34:12: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
   34 |     freopen("milkvisits.out", "w", stdout);
      |     ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
secret.cpp: In function 'void init()':
secret.cpp:40:8: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
   40 | freopen("input.txt", "r", stdin);
      | ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~
secret.cpp:42:8: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
   42 | freopen("output.txt", "w", stdout);
      | ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...