Submission #24271

#TimeUTC-0UsernameProblemLanguageResultExecution timeMemory
242712017-06-03 13:15:29jiaqiyangCultivation (JOI17_cultivation)C++98
100 / 100
1853 ms3964 KiB
#include <cstdio>
#include <climits>
#include <vector>
#include <algorithm>
typedef long long i64;
const int N = 300 + 10;
int r, c, n;
struct Point {
int x, y;
inline bool operator< (const Point &rhs) const {
return x < rhs.x || (x == rhs.x && y < rhs.y);
}
} p[N];
struct Info {
int a, b, c;
Info() { a = b = c = 0; }
Info(int _a, int _b, int _c): a(_a), b(_b), c(_c) {}
} f[N][N];
void init(int l) {
static int cur[N];
int tot = 0;
for (int r = l; r <= n; ++r) {
int k = std::lower_bound(cur, cur + tot, p[r].y) - cur;
cur[tot] = p[r].y;
 
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Compilation message (stderr)

cultivation.cpp: In function 'void solve(int)':
cultivation.cpp:75:39: warning: name lookup of 'r' changed
     for (; j <= tot && pool[j] <= s + r - 1; ++j) q[0].push(j, info[j].a), q[1].push(j, info[j].b), q[2].push(j, info[j].c);
                                       ^
cultivation.cpp:10:5: warning:   matches this 'r' under ISO standard rules
 int r, c, n;
     ^
cultivation.cpp:65:26: warning:   matches this 'r' under old rules
   for (int i = 1, l = 1, r = 1; i <= tot; ++i) {
                          ^
cultivation.cpp: In function 'int main()':
cultivation.cpp:99:21: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
   for (int i = 0; i < cur.size(); ++i) solve(cur[i]);
                     ^
cultivation.cpp:83:30: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
   scanf("%d%d%d", &r, &c, &n);
                              ^
cultivation.cpp:84:63: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
   for (int i = 1; i <= n; ++i) scanf("%d%d", &p[i].x, &p[i].y);
                                                               ^
#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...