Submission #19340729
Source Code Expand
#include <bits/stdc++.h>
#define rep(i, N) for(int i = 0; i < (int)N; i++)
#define CREP(i, l, r) for(int i = l; i <= r; i++)
using namespace std;
typedef long long ll;
typedef tuple<int,int,int> T;
typedef pair<ll,ll> P;
typedef vector<int> V;
typedef vector<ll> Vll;
const int INF = 1000000000; //10^9, 2*INF
const ll LLINF = (1LL << 60); // > 10^18 ll 2*LLINF
int main() {
int n;
ll co;
cin >> n >> co;
Vll a(n), b(n), c(n); rep(i, n) scanf("%lld%lld%lld", &a[i],&b[i],&c[i]);
vector<P> ac(n), bc(n);
rep(i,n){
ac[i] = P(a[i],c[i]);
bc[i] = P(b[i],c[i]);
}
sort(ac.begin(),ac.end());
sort(bc.begin(),bc.end());
ac.emplace_back(P(LLINF,LLINF));
bc.emplace_back(P(LLINF,LLINF));
ll pc = 0, day = 0, ans = 0;
int aci=0,bci = 0;
bool snk = false;
while(aci < n || bci < n){
ll nday = min(ac[aci].first, bc[bci].first);
ans += (snk ? co : pc)*(nday-day);
day = nday;
while(aci < n && ac[aci].first == day) {
pc += ac[aci].second;
aci++;
}
if(pc > co) snk = true;
else snk = false;
ans += (snk ? co : pc);
while(bci < n && bc[bci].first == day) {
pc -= bc[bci].second;
bci++;
}
if(pc > co) snk = true;
else snk = false;
day++;
//printf("day %lld\n", day);
}
printf("%lld\n", ans);
}
Submission Info
| Submission Time |
|
| Task |
D - Snuke Prime |
| User |
samari06 |
| Language |
C++ (GCC 9.2.1) |
| Score |
400 |
| Code Size |
1498 Byte |
| Status |
AC |
| Exec Time |
102 ms |
| Memory |
17212 KiB |
Compile Error
./Main.cpp: In function ‘int main()’:
./Main.cpp:17:42: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
17 | Vll a(n), b(n), c(n); rep(i, n) scanf("%lld%lld%lld", &a[i],&b[i],&c[i]);
| ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Judge Result
| Set Name |
Sample |
All |
| Score / Max Score |
0 / 0 |
400 / 400 |
| Status |
|
|
| Set Name |
Test Cases |
| Sample |
sample_01.txt, sample_02.txt, sample_03.txt |
| All |
random_01.txt, random_02.txt, random_03.txt, random_04.txt, random_05.txt, random_06.txt, random_07.txt, random_08.txt, random_09.txt, random_10.txt, random_11.txt, random_12.txt, random_13.txt, random_14.txt, random_15.txt, random_16.txt, random_17.txt, random_18.txt, random_19.txt, random_20.txt, random_21.txt, random_22.txt, random_23.txt, random_24.txt, random_25.txt, sample_01.txt, sample_02.txt, sample_03.txt |
| Case Name |
Status |
Exec Time |
Memory |
| random_01.txt |
AC |
7 ms |
3652 KiB |
| random_02.txt |
AC |
3 ms |
3636 KiB |
| random_03.txt |
AC |
2 ms |
3624 KiB |
| random_04.txt |
AC |
2 ms |
3636 KiB |
| random_05.txt |
AC |
2 ms |
3756 KiB |
| random_06.txt |
AC |
2 ms |
3624 KiB |
| random_07.txt |
AC |
2 ms |
3704 KiB |
| random_08.txt |
AC |
2 ms |
3760 KiB |
| random_09.txt |
AC |
2 ms |
3760 KiB |
| random_10.txt |
AC |
2 ms |
3720 KiB |
| random_11.txt |
AC |
1 ms |
3660 KiB |
| random_12.txt |
AC |
2 ms |
3760 KiB |
| random_13.txt |
AC |
5 ms |
3712 KiB |
| random_14.txt |
AC |
2 ms |
3760 KiB |
| random_15.txt |
AC |
2 ms |
3656 KiB |
| random_16.txt |
AC |
34 ms |
7168 KiB |
| random_17.txt |
AC |
61 ms |
11228 KiB |
| random_18.txt |
AC |
52 ms |
10156 KiB |
| random_19.txt |
AC |
50 ms |
9508 KiB |
| random_20.txt |
AC |
98 ms |
17192 KiB |
| random_21.txt |
AC |
72 ms |
13300 KiB |
| random_22.txt |
AC |
14 ms |
4640 KiB |
| random_23.txt |
AC |
102 ms |
17164 KiB |
| random_24.txt |
AC |
101 ms |
17204 KiB |
| random_25.txt |
AC |
77 ms |
17212 KiB |
| sample_01.txt |
AC |
2 ms |
3756 KiB |
| sample_02.txt |
AC |
2 ms |
3720 KiB |
| sample_03.txt |
AC |
2 ms |
3656 KiB |