Submission #155865

#TimeUsernameProblemLanguageResultExecution timeMemory
155865TAISA_Art Class (IOI13_artclass)C++14
9 / 100
103 ms8556 KiB
#include "artclass.h"
#include <bits/stdc++.h>
using namespace std;
using ll = long long;
int r[500][500], g[500][500], b[500][500];
ll check(int y, int x) {
    ll sr = pow(r[y][x + 1] - r[y][x], 2) + pow(r[y + 1][x + 1] - r[y][x], 2) +
            pow(r[y + 1][x] - r[y][x], 2) +
            pow(r[y + 1][x + 1] - r[y + 1][x], 2);
    ll sg = pow(g[y][x + 1] - g[y][x], 2) + pow(g[y + 1][x + 1] - g[y][x], 2) +
            pow(g[y + 1][x] - g[y][x], 2) +
            pow(g[y + 1][x + 1] - g[y + 1][x], 2);
    ll sb = pow(b[y][x + 1] - b[y][x], 2) + pow(b[y + 1][x + 1] - b[y][x], 2) +
            pow(b[y + 1][x] - b[y][x], 2) +
            pow(b[y + 1][x + 1] - b[y + 1][x], 2);
    return sr * sg * sb;
}
int style(int H, int W, int R[500][500], int G[500][500], int B[500][500]) {
    double ave = 0;
    int n = 500;
    random_device rnd;
    mt19937 mt(rnd());
    for (int i = 0; i < n; i++) {
        for (int j = 0; j < n; j++) {
            r[i][j] = R[i][j];
            g[i][j] = G[i][j];
            b[i][j] = B[i][j];
        }
    }
    vector<ll> v;
    ll sum = 0;
    for (int y = 0; y < 499; y++) {
        for (int x = 0; x < 499; x++) {
            v.push_back(check(y, x));
            sum += check(y, x);
        }
    }
    // cout << v[100] << endl;
    sort(v.begin(), v.end());
    if (v[499 * 499 / 2] >= 10000000000LL) {
        return 3;
    } else if (v[499 * 499 / 2] >= 8000000LL) {
        if (mt() % 3 >= 1) {
            return 2;
        } else {
            return 1;
        }
    } else {
        ll s = 0;
        for (int k = 0; k < 100; k++) {
            int y = mt() % 500, x = mt() % 500;
            s += r[y][x] * g[y][x] * b[y][x];
        }
        // cout << s << endl;
        s /= 100;
        if (s >= 5000000) {
            return 1;
        } else {
            return 4;
        }
    }
}

Compilation message (stderr)

artclass.cpp: In function 'int style(int, int, int (*)[500], int (*)[500], int (*)[500])':
artclass.cpp:19:12: warning: unused variable 'ave' [-Wunused-variable]
     double ave = 0;
            ^~~
#Verdict Execution timeMemoryGrader output
Fetching results...