Submission #66647

#TimeUsernameProblemLanguageResultExecution timeMemory
66647IvanCTreasure (different grader from official contest) (CEOI13_treasure2)C++17
100 / 100
3 ms932 KiB
#include "treasure.h" #include <bits/stdc++.h> #define LSOne(S) (S & (-S)) using namespace std; typedef tuple<int,int,int,int> quadra; const int MAXN = 110; static int matriz[MAXN][MAXN],N; void findTreasure(int n){ memset(matriz,0,sizeof(matriz)); N = n; int mid = (1 + N)/2; for(int i = N;i>=1;i--){ for(int j = N;j>=1;j--){ if(i >= mid && j >= mid) matriz[i][j] = countTreasure(1,1,i,j); else if(i >= mid && j <= mid) matriz[i][j] = matriz[i][N] - countTreasure(1,j+1,i,N); else if(i <= mid && j >= mid) matriz[i][j] = matriz[N][j] - countTreasure(i+1,1,N,j); else matriz[i][j] = countTreasure(i+1,j+1,N,N) + matriz[i][N] + matriz[N][j] - matriz[N][N]; } } for(int i = 1;i<=N;i++){ for(int j = 1;j<=N;j++){ if(matriz[i][j] - matriz[i][j-1] - matriz[i-1][j] + matriz[i-1][j-1]) Report(i,j); } } }
#Verdict Execution timeMemoryGrader output
Fetching results...