QOJ.ac
QOJ
ID | 题目 | 提交者 | 结果 | 用时 | 内存 | 语言 | 文件大小 | 提交时间 | 测评时间 |
---|---|---|---|---|---|---|---|---|---|
#776571 | #8760. 不等式 | WilliamFung | WA | 2ms | 9688kb | C++11 | 3.1kb | 2024-11-23 19:26:43 | 2024-11-23 19:26:43 |
Judging History
answer
#include <bits/stdc++.h>
#define endl '\n'
#define all(a) a.begin(), a.end()
#define ll long long
#define ull unsigned long long
#define inf 0x7fffffff;
//#define int long long
//#define III int
using namespace std;
using vi = vector<int>;
using vl = vector<ll>;
using vii = vector<vector<int>>;
using vll = vector<vector<ll>>;
using vpii = vector<pair<int, int>>;
using vpll = vector<pair<ll, ll>>;
//cout << ceil(-0.2) << endl;
const ll mod = 1e9 + 7;
//const ll mod = 998244353;
const ll INF = 1e18;
// struct node {
// ll dis, u;
// int hh;
// bool operator>(const node &a) const {return dis > a.dis;}
// };
struct now {
ll a, b;
bool operator<(const now& x) const {
return a < x.a;
}
};
ll qpow (ll a, ll b) {
ll ret = 1;
a %= mod;
while (b) {
if (b & 1) {
ret *= a;
ret %= mod;
}
b /= 2;
a = (a * a) % mod;
}
return ret;
}
ll cmp (ll a, ll b) {
if (a == 0) return 0;
if (a > b / 2) a = b - a;
ll x = 1, y = 1;
for (int i = 0; i < a; i++) {
x *= b - i;
x %= mod;
}
for (int i = 1; i <= a; i++) {
y *= i;
y %= mod;
}
ll ret = x * qpow(y, mod - 2);
ret %= mod;
return ret;
}
int dir[4][2] = {{0, 1}, {0, -1}, {1, 0}, {-1, 0}};
struct node {
ll w, l, r;
};
// //int n;
// ll tree[500005];
// int lowbit(int x) {
// return x & (-x);
// }
// void add(int l, ll x) {
// for (int i = l; i <= n; i += lowbit(i)) {
// tree[i] += x;
// }
// }
// ll sum(int r) {
// ll ret = 0;
// for (int i = r; i >= 1; i -= lowbit(i)) {
// ret += tree[i];
// }
// return ret;
// }
int n, m;
ll in[200010];
vector<pair<int, int>> g[200010];
void solve() {
cin >> n >> m;
for (int i = 1; i <= m; i++) {
int a, b, c;
cin >> a >> b >> c;
g[b].emplace_back(a, c);
g[c].emplace_back(a, b);
in[a]++;
}
queue<int> q;
vector<ll> ans(n + 1);
vector<int> flag(n + 1);
for (int i = 1; i <= n; i++) {
if (in[i] == 0) {
q.push(i);
ans[i] = 1;
flag[i] = 1;
}
}
while (!q.empty()) {
int u = q.front();
q.pop();
for (auto p : g[u]) {
if (flag[p.second]) {
ans[p.first] = max(ans[p.first], ans[u] + ans[p.second]);
in[p.first]--;
if (in[p.first] == 0) {
q.push(p.first);
flag[p.first] = 1;
}
}
}
}
for (int i = 1; i <= n; i++) {
if (flag[i] == 0) {
cout << -1 << endl;
return;
}
}
ll sum = 0;
for (int i = 1; i <= n; i++) {
sum += ans[i];
}
cout << sum << endl;
}
int main() {
std::ios::sync_with_stdio(false); std::cin.tie(nullptr); std::cout.tie(nullptr);
// helper();
int t = 1;
//cin >> t;
while (t--) solve();
return 0;
}
详细
Test #1:
score: 100
Accepted
time: 1ms
memory: 8420kb
input:
3 1 1 2 2
output:
4
result:
ok 1 number(s): "4"
Test #2:
score: 0
Accepted
time: 1ms
memory: 8520kb
input:
3 1 1 2 3
output:
4
result:
ok 1 number(s): "4"
Test #3:
score: 0
Accepted
time: 1ms
memory: 9372kb
input:
3 1 1 2 2
output:
4
result:
ok 1 number(s): "4"
Test #4:
score: 0
Accepted
time: 1ms
memory: 9312kb
input:
3 1 1 2 2
output:
4
result:
ok 1 number(s): "4"
Test #5:
score: 0
Accepted
time: 1ms
memory: 8512kb
input:
3 1 1 2 2
output:
4
result:
ok 1 number(s): "4"
Test #6:
score: 0
Accepted
time: 1ms
memory: 8908kb
input:
5 1 1 2 2
output:
6
result:
ok 1 number(s): "6"
Test #7:
score: 0
Accepted
time: 1ms
memory: 8988kb
input:
5 1 1 2 2
output:
6
result:
ok 1 number(s): "6"
Test #8:
score: 0
Accepted
time: 2ms
memory: 9644kb
input:
5 1 1 2 2
output:
6
result:
ok 1 number(s): "6"
Test #9:
score: 0
Accepted
time: 0ms
memory: 9248kb
input:
5 1 1 2 3
output:
6
result:
ok 1 number(s): "6"
Test #10:
score: 0
Accepted
time: 0ms
memory: 9564kb
input:
5 2 1 2 3 2 3 4
output:
8
result:
ok 1 number(s): "8"
Test #11:
score: 0
Accepted
time: 0ms
memory: 9188kb
input:
10 1 1 2 3
output:
11
result:
ok 1 number(s): "11"
Test #12:
score: 0
Accepted
time: 0ms
memory: 8244kb
input:
10 1 1 2 2
output:
11
result:
ok 1 number(s): "11"
Test #13:
score: 0
Accepted
time: 1ms
memory: 8580kb
input:
10 2 1 2 3 2 3 4
output:
13
result:
ok 1 number(s): "13"
Test #14:
score: 0
Accepted
time: 2ms
memory: 9688kb
input:
10 2 1 2 2 2 3 4
output:
14
result:
ok 1 number(s): "14"
Test #15:
score: 0
Accepted
time: 1ms
memory: 8524kb
input:
10 3 1 2 3 1 8 8 2 3 3
output:
13
result:
ok 1 number(s): "13"
Test #16:
score: 0
Accepted
time: 1ms
memory: 8984kb
input:
20 1 1 2 2
output:
21
result:
ok 1 number(s): "21"
Test #17:
score: 0
Accepted
time: 1ms
memory: 9332kb
input:
20 2 1 2 3 2 3 3
output:
23
result:
ok 1 number(s): "23"
Test #18:
score: 0
Accepted
time: 0ms
memory: 8624kb
input:
20 3 7 14 6 1 2 3 4 7 20
output:
24
result:
ok 1 number(s): "24"
Test #19:
score: 0
Accepted
time: 2ms
memory: 8752kb
input:
20 4 1 2 2 6 10 6 2 3 3 3 4 5
output:
-1
result:
ok 1 number(s): "-1"
Test #20:
score: 0
Accepted
time: 0ms
memory: 8376kb
input:
20 5 1 17 3 1 2 3 2 3 4 3 4 5 8 13 16
output:
28
result:
ok 1 number(s): "28"
Test #21:
score: 0
Accepted
time: 0ms
memory: 9556kb
input:
200 9 1 2 2 2 3 3 3 4 5 91 112 195 126 145 82 4 5 5 53 2 15 5 6 6 6 7 7
output:
318
result:
ok 1 number(s): "318"
Test #22:
score: 0
Accepted
time: 0ms
memory: 9116kb
input:
200 17 1 2 2 100 69 47 159 84 111 2 3 3 3 4 5 4 5 5 8 9 76 5 6 7 158 81 154 189 62 45 192 159 181 6 7 7 15 181 91 7 193 152 140 65 66 7 8 9 32 157 67
output:
428
result:
ok 1 number(s): "428"
Test #23:
score: 0
Accepted
time: 1ms
memory: 9376kb
input:
200 25 118 152 40 172 193 173 126 32 89 1 2 3 147 148 112 2 3 4 3 4 4 35 116 95 179 193 64 70 22 55 4 5 5 5 6 6 24 74 182 184 168 129 6 7 8 7 8 9 109 63 173 8 9 10 38 125 106 68 147 40 33 65 46 144 12 168 9 10 11 10 11 11 190 73 48
output:
835
result:
ok 1 number(s): "835"
Test #24:
score: -100
Wrong Answer
time: 1ms
memory: 8892kb
input:
200 33 1 2 3 165 80 199 2 3 4 10 80 12 3 4 5 4 5 6 5 6 7 128 1 190 6 7 7 166 124 95 7 8 9 60 51 80 25 158 81 108 107 99 8 9 9 9 10 10 10 11 12 54 41 100 11 12 13 176 185 149 12 13 13 13 14 14 14 15 16 15 16 17 16 17 17 128 73 196 17 18 19 93 169 141 18 19 19 19 20 20 20 21 21 21 22 22 12 55 32
output:
3515
result:
wrong answer 1st numbers differ - expected: '543121', found: '3515'