| Task: | Download Speed |
| Sender: | Dereden |
| Submission time: | 2025-10-14 20:46:17 +0300 |
| Language: | C++ (C++17) |
| Status: | READY |
| Result: | RUNTIME ERROR |
| test | verdict | time | |
|---|---|---|---|
| #1 | RUNTIME ERROR | 0.00 s | details |
| #2 | RUNTIME ERROR | 0.00 s | details |
| #3 | RUNTIME ERROR | 0.00 s | details |
| #4 | RUNTIME ERROR | 0.00 s | details |
| #5 | RUNTIME ERROR | 0.00 s | details |
| #6 | RUNTIME ERROR | 0.00 s | details |
| #7 | RUNTIME ERROR | 0.00 s | details |
| #8 | RUNTIME ERROR | 0.00 s | details |
| #9 | RUNTIME ERROR | 0.00 s | details |
| #10 | RUNTIME ERROR | 0.00 s | details |
| #11 | RUNTIME ERROR | 0.00 s | details |
| #12 | RUNTIME ERROR | 0.00 s | details |
Compiler report
input/code.cpp: In function 'int main()':
input/code.cpp:43:12: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
43 | freopen("input.txt", "r", stdin); // TODO: REMOVE THIS YOU STUPID ****
| ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~Code
#include <iostream>
#include <vector>
#include <algorithm>
#include <string>
#include <climits>
typedef long long ll;
using namespace std;
struct Edge {
int to;
ll cap;
int rev; // index of reverse edge in G[to]
bool is_rev;
};
const ll INF = (1LL << 60);
vector<vector<Edge> > graph;
vector<bool> used;
ll dfs(int v, int t, ll f, ll delta) {
if (v == t) return f;
used[v] = true;
for (auto &e: graph[v]) {
if (!used[e.to] && e.cap >= delta) {
ll pushed = dfs(e.to, t, min(f, e.cap), delta);
if (pushed > 0) {
e.cap -= pushed;
graph[e.to][e.rev].cap += pushed;
return pushed;
}
}
}
return 0;
}
int main() {
ios::sync_with_stdio(false);
cin.tie(nullptr);
freopen("input.txt", "r", stdin); // TODO: REMOVE THIS YOU STUPID ****
int n, m;
cin >> n >> m;
graph = vector<vector<Edge> >(n + 1);
ll maxW = 0;
for (int i = 0; i < m; i++) {
int u, v;
ll w;
cin >> u >> v >> w;
maxW = max(maxW, w);
Edge a = {v, w, (int) graph[v].size(), false};
Edge b = {u, 0, (int) graph[u].size(), true};
graph[u].push_back(a);
graph[v].push_back(b);
}
// source and sink
int s = 1;
int t = n;
ll delta = 1;
while (delta <= maxW) delta <<= 1;
delta >>= 1;
ll maxflow = 0;
while (delta > 0) {
while (true) {
used.assign(n + 1, false);
ll f = dfs(s, t, INF, delta);
if (f == 0) break;
maxflow += f;
}
delta >>= 1;
}
cout << maxflow << "\n";
}
Test details
Test 1
Verdict: RUNTIME ERROR
| input |
|---|
| 4 3 1 2 5 2 3 3 3 4 6 |
| correct output |
|---|
| 3 |
| user output |
|---|
| (empty) |
Error:
terminate called after throwing an instance of 'std::bad_alloc' what(): std::bad_alloc
Test 2
Verdict: RUNTIME ERROR
| input |
|---|
| 4 5 1 2 1 1 3 1 2 3 1 2 4 1 ... |
| correct output |
|---|
| 2 |
| user output |
|---|
| (empty) |
Error:
terminate called after throwing an instance of 'std::bad_alloc' what(): std::bad_alloc
Test 3
Verdict: RUNTIME ERROR
| input |
|---|
| 4 5 1 2 1000000000 1 3 1000000000 2 3 1 2 4 1000000000 ... |
| correct output |
|---|
| 2000000000 |
| user output |
|---|
| (empty) |
Error:
terminate called after throwing an instance of 'std::bad_alloc' what(): std::bad_alloc
Test 4
Verdict: RUNTIME ERROR
| input |
|---|
| 2 1 2 1 100 |
| correct output |
|---|
| 0 |
| user output |
|---|
| (empty) |
Error:
terminate called after throwing an instance of 'std::bad_alloc' what(): std::bad_alloc
Test 5
Verdict: RUNTIME ERROR
| input |
|---|
| 2 1000 1 2 1000000000 1 2 1000000000 1 2 1000000000 1 2 1000000000 ... |
| correct output |
|---|
| 1000000000000 |
| user output |
|---|
| (empty) |
Error:
terminate called after throwing an instance of 'std::bad_alloc' what(): std::bad_alloc
Test 6
Verdict: RUNTIME ERROR
| input |
|---|
| 500 998 1 2 54 1 3 59 1 4 83 2 5 79 ... |
| correct output |
|---|
| 60 |
| user output |
|---|
| (empty) |
Error:
terminate called after throwing an instance of 'std::bad_alloc' what(): std::bad_alloc
Test 7
Verdict: RUNTIME ERROR
| input |
|---|
| 500 998 1 2 530873053 1 3 156306296 1 4 478040476 3 5 303609600 ... |
| correct output |
|---|
| 1093765123 |
| user output |
|---|
| (empty) |
Error:
terminate called after throwing an instance of 'std::bad_alloc' what(): std::bad_alloc
Test 8
Verdict: RUNTIME ERROR
| input |
|---|
| 2 1 1 2 1 |
| correct output |
|---|
| 1 |
| user output |
|---|
| (empty) |
Error:
terminate called after throwing an instance of 'std::bad_alloc' what(): std::bad_alloc
Test 9
Verdict: RUNTIME ERROR
| input |
|---|
| 4 5 1 2 3 2 4 2 1 3 4 3 4 5 ... |
| correct output |
|---|
| 6 |
| user output |
|---|
| (empty) |
Error:
terminate called after throwing an instance of 'std::bad_alloc' what(): std::bad_alloc
Test 10
Verdict: RUNTIME ERROR
| input |
|---|
| 4 5 1 2 1 1 3 2 3 2 1 2 4 2 ... |
| correct output |
|---|
| 3 |
| user output |
|---|
| (empty) |
Error:
terminate called after throwing an instance of 'std::bad_alloc' what(): std::bad_alloc
Test 11
Verdict: RUNTIME ERROR
| input |
|---|
| 10 999 1 2 1000000000 1 2 1000000000 1 2 1000000000 1 2 1000000000 ... |
| correct output |
|---|
| 111000000000 |
| user output |
|---|
| (empty) |
Error:
terminate called after throwing an instance of 'std::bad_alloc' what(): std::bad_alloc
Test 12
Verdict: RUNTIME ERROR
| input |
|---|
| 7 9 1 2 1 1 3 1 1 4 1 2 5 1 ... |
| correct output |
|---|
| 2 |
| user output |
|---|
| (empty) |
Error:
terminate called after throwing an instance of 'std::bad_alloc' what(): std::bad_alloc
