| Task: | Ruudukko | 
| Sender: | MikaelM | 
| Submission time: | 2025-05-03 14:34:14 +0300 | 
| Language: | C++ (C++17) | 
| Status: | READY | 
| Result: | 28 | 
| group | verdict | score | 
|---|---|---|
| #1 | ACCEPTED | 28 | 
| #2 | WRONG ANSWER | 0 | 
| #3 | WRONG ANSWER | 0 | 
| test | verdict | time | group | |
|---|---|---|---|---|
| #1 | ACCEPTED | 0.00 s | 1, 2, 3 | details | 
| #2 | ACCEPTED | 0.00 s | 1, 2, 3 | details | 
| #3 | ACCEPTED | 0.00 s | 1, 2, 3 | details | 
| #4 | ACCEPTED | 0.01 s | 2, 3 | details | 
| #5 | WRONG ANSWER | 0.01 s | 2, 3 | details | 
| #6 | WRONG ANSWER | 0.01 s | 2, 3 | details | 
| #7 | ACCEPTED | 0.15 s | 3 | details | 
| #8 | WRONG ANSWER | 0.19 s | 3 | details | 
| #9 | WRONG ANSWER | 0.27 s | 3 | details | 
Code
#include<bits/stdc++.h>
using namespace std;
#define all(x) x.begin(),x.end()
#define rall(x) x.rbegin(),x.rend()
#define fi first
#define se second
using ll = long long;
const int N = 1001, M = 1e9+7;
ll row[N], column[N];
int main() {
    ios_base::sync_with_stdio(false);
    cin.tie(nullptr);
    int n;
    cin >> n;
    vector<pair<int, pair<int, int>>> v;
    for (int i = 1; i <= n; i++) {
        for (int j = 1; j <= n; j++) {
            int x;
            cin >> x;
            v.push_back({x, {i, j}});
        }
    }
    sort(all(v));
    ll ans = 0;
    int p = 0;
    stack<pair<ll, pair<int, int>>> st;
    for (auto u : v) {
        int x = u.fi;
        auto [i, j] = u.se;
        if (x != p) {
            while (!st.empty()) {
                auto k = st.top(); 
                st.pop();
                row[k.se.fi] += k.fi;
                column[k.se.se] += k.fi;
                if (row[k.se.fi] > M) row[k.se.fi] -= M;
                if (column[k.se.se] > M) column[k.se.se] -= M;
            }
            p = x;
        }
        st.push({row[i] + column[j] + 1, {i, j}});
        ans += row[i] + column[j] + 1;
        if (ans > M) ans -= M;
    }
    cout << ans << "\n";
    
    
    return 0;
}Test details
Test 1
Group: 1, 2, 3
Verdict: ACCEPTED
| input | 
|---|
| 3 1 1 1 1 1 1 1 1 1  | 
| correct output | 
|---|
| 9 | 
| user output | 
|---|
| 9 | 
Test 2
Group: 1, 2, 3
Verdict: ACCEPTED
| input | 
|---|
| 3 1 2 3 6 5 4 7 8 9  | 
| correct output | 
|---|
| 135 | 
| user output | 
|---|
| 135 | 
Test 3
Group: 1, 2, 3
Verdict: ACCEPTED
| input | 
|---|
| 3 7 8 1 4 5 4 3 9 6  | 
| correct output | 
|---|
| 57 | 
| user output | 
|---|
| 57 | 
Test 4
Group: 2, 3
Verdict: ACCEPTED
| input | 
|---|
| 100 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ...  | 
| correct output | 
|---|
| 10000 | 
| user output | 
|---|
| 10000 | 
Test 5
Group: 2, 3
Verdict: WRONG ANSWER
| input | 
|---|
| 100 1 2 3 4 5 6 7 8 9 10 11 12 13 ...  | 
| correct output | 
|---|
| 187458477 | 
| user output | 
|---|
| -5612654464068541477 | 
Test 6
Group: 2, 3
Verdict: WRONG ANSWER
| input | 
|---|
| 100 2995 8734 1018 2513 7971 5063 ...  | 
| correct output | 
|---|
| 964692694 | 
| user output | 
|---|
| 4829928246576217038 | 
Test 7
Group: 3
Verdict: ACCEPTED
| input | 
|---|
| 1000 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ...  | 
| correct output | 
|---|
| 1000000 | 
| user output | 
|---|
| 1000000 | 
Test 8
Group: 3
Verdict: WRONG ANSWER
| input | 
|---|
| 1000 1 2 3 4 5 6 7 8 9 10 11 12 13 ...  | 
| correct output | 
|---|
| 229147081 | 
| user output | 
|---|
| 822860842865711173 | 
Test 9
Group: 3
Verdict: WRONG ANSWER
| input | 
|---|
| 1000 520283 805991 492643 75254 527...  | 
| correct output | 
|---|
| 951147313 | 
| user output | 
|---|
| 3752511545215640719 | 
