Submission #620445


Source Code Expand

#ifdef _MSC_VER
#define _CRT_SECURE_NO_WARNINGS
#endif
#include<iostream>
#include<cstdio>
#include<algorithm>
#include<set>
#include<map>
#include<queue>
#include<vector>
#include<string>
#include<cstring>
#include<unordered_map>
#include<cassert>
#include<cmath>

//code by cl3488

#define dri(X) int (X); scanf("%d", &X)
#define drii(X, Y) int X, Y; scanf("%d%d", &X, &Y)
#define driii(X, Y, Z) int X, Y, Z; scanf("%d%d%d", &X, &Y, &Z)
#define pb push_back
#define mp make_pair
#define rep(i, s, t) for ( int i=(s) ; i <(t) ; i++)
#define fill(x, v) memset (x, v, sizeof(x))
#define why(d) cerr << (d) << "!\n"
#define whisp(X, Y) cerr << (X) << " " << (Y) << "#\n"
#define exclam cerr << "!!\n"
typedef long long ll;
using namespace std;
typedef pair<int, int> pii;
const ll inf = (ll)1e9 + 70;
const ll mod = 1e9 + 7;
const int maxn = 1e5 + 7;
int t[maxn];
int x[maxn];

vector<ll> events;

int main(){
	//if (fopen("input.txt", "r")) freopen("input.txt", "r", stdin);
	dri(n); dri(l);
	rep(i, 0, n){
		drii(tt, xx);
		t[i] = tt; x[i] = xx;
	}
	rep(i, 0, n){//splits it into blocks.  This way really is quite elegant.
		int i2 = i;
		while (i2 < n && t[i2] == t[i]){
			i2++;
		}
		reverse(x + i, x + i2);
		i = i2 - 1;
	}
	ll yint = 0;
	map<ll, ll> dslope;///stores differences in slope
	rep(i, 0, n){
		ll v = x[i];
		yint += (inf - v);
		dslope[v] += 2;
		auto it = dslope.end(); it--;
		yint -= (inf - it->first);
		if (it->second == 1) dslope.erase(it);
		else it->second--;
	}
	cout << yint << "\n";

	return 0;
}

Submission Info

Submission Time
Task E - 花火
User negativeb
Language C++11 (GCC 4.9.2)
Score 160
Code Size 1592 Byte
Status AC
Exec Time 119 ms
Memory 7868 KB

Compile Error

./Main.cpp: In function ‘int main()’:
./Main.cpp:42:8: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
  dri(n); dri(l);
        ^
./Main.cpp:42:16: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
  dri(n); dri(l);
                ^
./Main.cpp:44:15: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
   drii(tt, xx);
               ^

Judge Result

Set Name Sample Subtask1 Subtask2
Score / Max Score 0 / 0 30 / 30 130 / 130
Status
AC × 3
AC × 45
AC × 95
Set Name Test Cases
Sample sample_01.txt, sample_02.txt, sample_03.txt
Subtask1 sample_01.txt, sample_02.txt, sample_03.txt, subtask1_01.txt, subtask1_02.txt, subtask1_03.txt, subtask1_04.txt, subtask1_05.txt, subtask1_06.txt, subtask1_07.txt, subtask1_08.txt, subtask1_09.txt, subtask1_10.txt, subtask1_11.txt, subtask1_12.txt, subtask1_13.txt, subtask1_14.txt, subtask1_15.txt, subtask1_16.txt, subtask1_17.txt, subtask1_18.txt, subtask1_19.txt, subtask1_20.txt, subtask1_21.txt, subtask1_22.txt, subtask1_23.txt, subtask1_24.txt, subtask1_25.txt, subtask1_26.txt, subtask1_27.txt, subtask1_28.txt, subtask1_29.txt, subtask1_30.txt, subtask1_31.txt, subtask1_32.txt, subtask1_33.txt, subtask1_34.txt, subtask1_35.txt, subtask1_36.txt, subtask1_37.txt, subtask1_38.txt, subtask1_39.txt, subtask1_40.txt, subtask1_41.txt, subtask1_42.txt
Subtask2 sample_01.txt, sample_02.txt, sample_03.txt, subtask1_01.txt, subtask1_02.txt, subtask1_03.txt, subtask1_04.txt, subtask1_05.txt, subtask1_06.txt, subtask1_07.txt, subtask1_08.txt, subtask1_09.txt, subtask1_10.txt, subtask1_11.txt, subtask1_12.txt, subtask1_13.txt, subtask1_14.txt, subtask1_15.txt, subtask1_16.txt, subtask1_17.txt, subtask1_18.txt, subtask1_19.txt, subtask1_20.txt, subtask1_21.txt, subtask1_22.txt, subtask1_23.txt, subtask1_24.txt, subtask1_25.txt, subtask1_26.txt, subtask1_27.txt, subtask1_28.txt, subtask1_29.txt, subtask1_30.txt, subtask1_31.txt, subtask1_32.txt, subtask1_33.txt, subtask1_34.txt, subtask1_35.txt, subtask1_36.txt, subtask1_37.txt, subtask1_38.txt, subtask1_39.txt, subtask1_40.txt, subtask1_41.txt, subtask1_42.txt, subtask2_01.txt, subtask2_02.txt, subtask2_03.txt, subtask2_04.txt, subtask2_05.txt, subtask2_06.txt, subtask2_07.txt, subtask2_08.txt, subtask2_09.txt, subtask2_10.txt, subtask2_11.txt, subtask2_12.txt, subtask2_13.txt, subtask2_14.txt, subtask2_15.txt, subtask2_16.txt, subtask2_17.txt, subtask2_18.txt, subtask2_19.txt, subtask2_20.txt, subtask2_21.txt, subtask2_22.txt, subtask2_23.txt, subtask2_24.txt, subtask2_25.txt, subtask2_26.txt, subtask2_27.txt, subtask2_28.txt, subtask2_29.txt, subtask2_30.txt, subtask2_31.txt, subtask2_32.txt, subtask2_33.txt, subtask2_34.txt, subtask2_35.txt, subtask2_36.txt, subtask2_37.txt, subtask2_38.txt, subtask2_39.txt, subtask2_40.txt, subtask2_41.txt, subtask2_42.txt, subtask2_43.txt, subtask2_44.txt, subtask2_45.txt, subtask2_46.txt, subtask2_47.txt, subtask2_48.txt, subtask2_49.txt, subtask2_50.txt
Case Name Status Exec Time Memory
sample_01.txt AC 42 ms 828 KB
sample_02.txt AC 25 ms 932 KB
sample_03.txt AC 26 ms 932 KB
subtask1_01.txt AC 28 ms 936 KB
subtask1_02.txt AC 27 ms 1048 KB
subtask1_03.txt AC 27 ms 1048 KB
subtask1_04.txt AC 26 ms 924 KB
subtask1_05.txt AC 29 ms 884 KB
subtask1_06.txt AC 26 ms 928 KB
subtask1_07.txt AC 27 ms 920 KB
subtask1_08.txt AC 26 ms 968 KB
subtask1_09.txt AC 27 ms 932 KB
subtask1_10.txt AC 27 ms 1052 KB
subtask1_11.txt AC 27 ms 952 KB
subtask1_12.txt AC 26 ms 1052 KB
subtask1_13.txt AC 30 ms 864 KB
subtask1_14.txt AC 27 ms 912 KB
subtask1_15.txt AC 27 ms 860 KB
subtask1_16.txt AC 26 ms 928 KB
subtask1_17.txt AC 27 ms 956 KB
subtask1_18.txt AC 27 ms 952 KB
subtask1_19.txt AC 27 ms 1052 KB
subtask1_20.txt AC 27 ms 952 KB
subtask1_21.txt AC 25 ms 916 KB
subtask1_22.txt AC 26 ms 1048 KB
subtask1_23.txt AC 27 ms 952 KB
subtask1_24.txt AC 27 ms 948 KB
subtask1_25.txt AC 27 ms 924 KB
subtask1_26.txt AC 27 ms 924 KB
subtask1_27.txt AC 27 ms 956 KB
subtask1_28.txt AC 26 ms 924 KB
subtask1_29.txt AC 40 ms 868 KB
subtask1_30.txt AC 27 ms 824 KB
subtask1_31.txt AC 26 ms 920 KB
subtask1_32.txt AC 26 ms 1048 KB
subtask1_33.txt AC 26 ms 1052 KB
subtask1_34.txt AC 27 ms 808 KB
subtask1_35.txt AC 26 ms 920 KB
subtask1_36.txt AC 28 ms 924 KB
subtask1_37.txt AC 25 ms 800 KB
subtask1_38.txt AC 27 ms 920 KB
subtask1_39.txt AC 26 ms 924 KB
subtask1_40.txt AC 26 ms 924 KB
subtask1_41.txt AC 26 ms 920 KB
subtask1_42.txt AC 25 ms 924 KB
subtask2_01.txt AC 89 ms 3644 KB
subtask2_02.txt AC 88 ms 3644 KB
subtask2_03.txt AC 89 ms 3644 KB
subtask2_04.txt AC 90 ms 3640 KB
subtask2_05.txt AC 89 ms 3644 KB
subtask2_06.txt AC 76 ms 2968 KB
subtask2_07.txt AC 59 ms 2364 KB
subtask2_08.txt AC 45 ms 1796 KB
subtask2_09.txt AC 54 ms 1592 KB
subtask2_10.txt AC 57 ms 1596 KB
subtask2_11.txt AC 61 ms 1596 KB
subtask2_12.txt AC 63 ms 1592 KB
subtask2_13.txt AC 73 ms 1976 KB
subtask2_14.txt AC 70 ms 3680 KB
subtask2_15.txt AC 75 ms 3640 KB
subtask2_16.txt AC 78 ms 3644 KB
subtask2_17.txt AC 83 ms 3640 KB
subtask2_18.txt AC 85 ms 3640 KB
subtask2_19.txt AC 49 ms 1596 KB
subtask2_20.txt AC 49 ms 1596 KB
subtask2_21.txt AC 50 ms 1592 KB
subtask2_22.txt AC 54 ms 1592 KB
subtask2_23.txt AC 70 ms 1852 KB
subtask2_24.txt AC 82 ms 4920 KB
subtask2_25.txt AC 79 ms 4412 KB
subtask2_26.txt AC 78 ms 4156 KB
subtask2_27.txt AC 81 ms 4124 KB
subtask2_28.txt AC 81 ms 3896 KB
subtask2_29.txt AC 53 ms 1592 KB
subtask2_30.txt AC 70 ms 3004 KB
subtask2_31.txt AC 80 ms 4028 KB
subtask2_32.txt AC 73 ms 3128 KB
subtask2_33.txt AC 79 ms 4028 KB
subtask2_34.txt AC 79 ms 4028 KB
subtask2_35.txt AC 56 ms 1592 KB
subtask2_36.txt AC 61 ms 1568 KB
subtask2_37.txt AC 69 ms 2236 KB
subtask2_38.txt AC 119 ms 7868 KB
subtask2_39.txt AC 81 ms 4788 KB
subtask2_40.txt AC 49 ms 1636 KB
subtask2_41.txt AC 57 ms 1564 KB
subtask2_42.txt AC 57 ms 1596 KB
subtask2_43.txt AC 85 ms 4792 KB
subtask2_44.txt AC 86 ms 4796 KB
subtask2_45.txt AC 55 ms 1596 KB
subtask2_46.txt AC 51 ms 1596 KB
subtask2_47.txt AC 56 ms 1592 KB
subtask2_48.txt AC 26 ms 928 KB
subtask2_49.txt AC 28 ms 928 KB
subtask2_50.txt AC 26 ms 828 KB