Submission #7125300
Source Code Expand
#ifndef ENV_AC #define ENV_AC #include <stdio.h> #include <stdlib.h> #include <assert.h> #include <fstream> #include <iostream> #include <sstream> #include <iomanip> #include <algorithm> #include <bitset> #include <array> #include <vector> #include <queue> #include <set> #include <cmath> // 変数名にy1が使えなくなるかも…。 #include <map> #include <unordered_map> #include <unordered_set> #include <limits> #include <functional> #include <string> using int128_t = __int128_t; std::istream &operator>>(std::istream& input, int128_t& value) { // int128_tの入力。入力が64bitに収まる前提。 int64_t tmp; input >> tmp; value = tmp; return input; } std::ostream &operator<<(std::ostream& output, const int128_t value) { // int128_tの出力。出力が64bitに収まる前提。 output << (int64_t)value; return output; } namespace std { template<> class hash<int128_t>{ public: size_t operator () ( const int128_t &x ) const { int64_t INF64 = std::numeric_limits<int64_t>::max(); int64_t y1 = x / INF64; int64_t y2 = x % INF64; return hash<int64_t>()(y1) ^ hash<int64_t>()(y2); } }; } int128_t imax(const int128_t a, const int128_t b) { return std::max(a, b); } // std::max, std::min は型が違うとエラーになるため、ラッパーを作る。 int128_t imin(const int128_t a, const int128_t b) { return std::min(a, b); } int128_t iabs(const int128_t x) { return 0 <= x ? x : -x; } int128_t ipow(const int128_t x, const int128_t n) { int128_t ret = 1; for (int i = 0; i < n; i++) { ret *= x; } return ret; } #define rep(i, begin, end) for(int64_t i = ((int64_t)begin); i <= ((int64_t)end); i++) // (int64_t)end としておくと、end = v.size() - 2 みたいな入力で、v.size()が1でも正常(end = -1になる)に挙動する。 #define rev(i, begin, end) for(int64_t i = ((int64_t)begin); ((int64_t)end) <= i; i--) // int128_tにすると、3重ループでコンパイルエラーになったのでint64_tにしておく。 #define input1(begin, end, v1) v1.resize((end)+1); for (int i = (begin); i <= (end); i++) { std::cin >> v1[i]; } #define input2(begin, end, v1, v2) v1.resize((end)+1); v2.resize((end)+1); for (int i = (begin); i <= (end); i++) { std::cin >> v1[i] >> v2[i]; } #define input3(begin, end, v1, v2, v3) v1.resize((end)+1); v2.resize((end)+1); v3.resize((end)+1); for (int i = (begin); i <= (end); i++) { std::cin >> v1[i] >> v2[i] >> v3[i]; } #define input4(begin, end, v1, v2, v3, v4) v1.resize((end)+1); v2.resize((end)+1); v3.resize((end)+1); v4.resize((end)+1); for (int i = (begin); i <= (end); i++) { std::cin >> v1[i] >> v2[i] >> v3[i] >> v4[i]; } #define input5(begin, end, v1, v2, v3, v4, v5) v1.resize((end)+1); v2.resize((end)+1); v3.resize((end)+1); v4.resize((end)+1); v5.resize((end)+1); for (int i = (begin); i <= (end); i++) { std::cin >> v1[i] >> v2[i] >> v3[i] >> v4[i] >> v5[i]; } // input_arrayはbegin = 0のときのみ動作確認。Aの要素の型をテンプレートにして関数にしたほうが丁寧かもしれない。 #define input_array(begin, N, M, A) A.resize((begin)+(N)); for (int i = 0; i < (begin)+(N); i++) { A[i].resize((begin)+(M)); } for (int i = begin; i < (begin)+(N); i++) { for (int j = begin; j < (begin)+(M); j++) { std::cin >> A[i][j]; }} std::vector<int> irange(const int begin, const int end) { std::vector<int> ret; for (int i = begin; i <= end; i++) { ret.push_back(i); } return ret; } template <typename T> std::vector<T> accumulate_vec(const std::vector<T>& vec, const bool reverse = false) { std::vector<T> ret; ret.resize(vec.size()); if (reverse == false) { ret[0] = vec[0]; for (int i = 1; i < ret.size(); i++) { ret[i] = ret[i-1] + vec[i]; } } else { ret[ret.size()-1] = vec[ret.size()-1]; for (int i = ret.size() - 2; 0 <= i; i--) { ret[i] = ret[i+1] + vec[i]; } } return ret; } template <typename T> void printvec(const std::vector<T>& vec) { for (int i = 0; i < vec.size(); i++) { std::cout << vec[i] << " "; } std::cout << std::endl; } #endif //--code begin-- //int128_t N; //std::vector<int128_t> A; //std::string S; //std::vector<std::string> ; double xa, ya, xb, yb, xc, yc; //std::vector<double> ; //const int128_t MAX_N = ; const int128_t MOD = 1e9 + 7; //const int128_t INF = std::numeric_limits<int64_t>::max(); const int128_t NEG_INF = std::numeric_limits<int64_t>::min(); //using pair = std::pair<int64_t, int>; int main(int argc, char **argv) { std::cin.tie(0); std::ios::sync_with_stdio(false); std::cout << std::fixed << std::setprecision(15); std::cin >> xa >> ya >> xb >> yb >> xc >> yc; xb -= xa; yb -= ya; xc -= xa; yc -= ya; double S2 = fabs(xb * yc - yb * xc); std::cout << S2 / 2 << std::endl; return 0; }
Submission Info
Submission Time | |
---|---|
Task | C - 直訴 |
User | critter |
Language | C++14 (GCC 5.4.1) |
Score | 100 |
Code Size | 5362 Byte |
Status | AC |
Exec Time | 2 ms |
Memory | 256 KB |
Judge Result
Set Name | all | ||
---|---|---|---|
Score / Max Score | 100 / 100 | ||
Status |
|
Set Name | Test Cases |
---|---|
all | 00_sample_01.txt, 00_sample_02.txt, 00_sample_03.txt, test_01.txt, test_02.txt, test_03.txt, test_04.txt, test_05.txt, test_06.txt, test_07.txt, test_08.txt, test_09.txt, test_10.txt, test_11.txt, test_12.txt, test_13.txt, test_14.txt, test_15.txt, test_16.txt, test_17.txt, test_18.txt, test_19.txt, test_20.txt, test_21.txt, test_22.txt, test_23.txt, test_24.txt, test_25.txt, test_26.txt, test_27.txt, test_28.txt, test_29.txt, test_30.txt, test_31.txt, test_32.txt, test_33.txt, test_34.txt, test_35.txt, test_36.txt, test_37.txt, test_38.txt, test_39.txt, test_40.txt, test_41.txt, test_42.txt, test_43.txt, test_44.txt, test_45.txt, test_46.txt, test_47.txt, test_48.txt, test_49.txt, test_50.txt, test_51.txt, test_52.txt, test_53.txt, test_54.txt, test_55.txt, test_56.txt, test_57.txt, test_58.txt, test_59.txt, test_60.txt, test_61.txt, test_62.txt, test_63.txt, test_64.txt, test_65.txt, test_66.txt, test_67.txt, test_68.txt, test_69.txt |
Case Name | Status | Exec Time | Memory |
---|---|---|---|
00_sample_01.txt | AC | 1 ms | 256 KB |
00_sample_02.txt | AC | 1 ms | 256 KB |
00_sample_03.txt | AC | 1 ms | 256 KB |
test_01.txt | AC | 1 ms | 256 KB |
test_02.txt | AC | 1 ms | 256 KB |
test_03.txt | AC | 1 ms | 256 KB |
test_04.txt | AC | 1 ms | 256 KB |
test_05.txt | AC | 1 ms | 256 KB |
test_06.txt | AC | 2 ms | 256 KB |
test_07.txt | AC | 1 ms | 256 KB |
test_08.txt | AC | 1 ms | 256 KB |
test_09.txt | AC | 1 ms | 256 KB |
test_10.txt | AC | 1 ms | 256 KB |
test_11.txt | AC | 1 ms | 256 KB |
test_12.txt | AC | 1 ms | 256 KB |
test_13.txt | AC | 1 ms | 256 KB |
test_14.txt | AC | 1 ms | 256 KB |
test_15.txt | AC | 1 ms | 256 KB |
test_16.txt | AC | 1 ms | 256 KB |
test_17.txt | AC | 1 ms | 256 KB |
test_18.txt | AC | 1 ms | 256 KB |
test_19.txt | AC | 1 ms | 256 KB |
test_20.txt | AC | 1 ms | 256 KB |
test_21.txt | AC | 1 ms | 256 KB |
test_22.txt | AC | 1 ms | 256 KB |
test_23.txt | AC | 1 ms | 256 KB |
test_24.txt | AC | 1 ms | 256 KB |
test_25.txt | AC | 1 ms | 256 KB |
test_26.txt | AC | 1 ms | 256 KB |
test_27.txt | AC | 1 ms | 256 KB |
test_28.txt | AC | 1 ms | 256 KB |
test_29.txt | AC | 1 ms | 256 KB |
test_30.txt | AC | 1 ms | 256 KB |
test_31.txt | AC | 1 ms | 256 KB |
test_32.txt | AC | 1 ms | 256 KB |
test_33.txt | AC | 1 ms | 256 KB |
test_34.txt | AC | 1 ms | 256 KB |
test_35.txt | AC | 1 ms | 256 KB |
test_36.txt | AC | 1 ms | 256 KB |
test_37.txt | AC | 1 ms | 256 KB |
test_38.txt | AC | 1 ms | 256 KB |
test_39.txt | AC | 1 ms | 256 KB |
test_40.txt | AC | 1 ms | 256 KB |
test_41.txt | AC | 1 ms | 256 KB |
test_42.txt | AC | 1 ms | 256 KB |
test_43.txt | AC | 1 ms | 256 KB |
test_44.txt | AC | 1 ms | 256 KB |
test_45.txt | AC | 1 ms | 256 KB |
test_46.txt | AC | 1 ms | 256 KB |
test_47.txt | AC | 1 ms | 256 KB |
test_48.txt | AC | 1 ms | 256 KB |
test_49.txt | AC | 1 ms | 256 KB |
test_50.txt | AC | 1 ms | 256 KB |
test_51.txt | AC | 1 ms | 256 KB |
test_52.txt | AC | 1 ms | 256 KB |
test_53.txt | AC | 1 ms | 256 KB |
test_54.txt | AC | 1 ms | 256 KB |
test_55.txt | AC | 1 ms | 256 KB |
test_56.txt | AC | 1 ms | 256 KB |
test_57.txt | AC | 1 ms | 256 KB |
test_58.txt | AC | 1 ms | 256 KB |
test_59.txt | AC | 1 ms | 256 KB |
test_60.txt | AC | 1 ms | 256 KB |
test_61.txt | AC | 1 ms | 256 KB |
test_62.txt | AC | 1 ms | 256 KB |
test_63.txt | AC | 1 ms | 256 KB |
test_64.txt | AC | 1 ms | 256 KB |
test_65.txt | AC | 1 ms | 256 KB |
test_66.txt | AC | 1 ms | 256 KB |
test_67.txt | AC | 1 ms | 256 KB |
test_68.txt | AC | 1 ms | 256 KB |
test_69.txt | AC | 1 ms | 256 KB |