Submission #1697792
Source Code Expand
#include <assert.h> #include <cmath> #include <cstdio> #include <cstdlib> #include <cstring> #include <climits> #include <algorithm> #include <numeric> #include <functional> #include <iostream> #include <string> #include <array> #include <vector> #include <stack> #include <queue> #include <set> #include <map> #include <complex> #include <bitset> typedef long long ll; typedef unsigned long long ull; #define REP(i, n) for (int i = 0; i < n; i++) #define REPR(i, n) for (int i = n; i >= 0; i--) using namespace std; // 座標圧縮 template <typename T> struct Compressor { map<T, int> compressor; vector<T> extractor; explicit Compressor(vector<T> originals) { sort(originals.begin(), originals.end()); originals.erase(unique(originals.begin(), originals.end()), originals.end()); extractor = vector<T>(originals.size(), 0); for (int i = 0; i < originals.size(); i++) { compressor[originals[i]] = i; extractor[i] = originals[i]; } } int size() { return compressor.size(); } int compress(T value) { return compressor[value]; } vector<int> compress(const vector<T> &values) { // <int> を返したいので for_each は使えない vector<int> results(values.size()); for (int i = 0; i < values.size(); i++) { results[i] = compress(values[i]); } return results; } vector<bool> compress_as_flag(const vector<T> &values) { vector<bool> results(this->size(), false); for (int i = 0; i < values.size(); i++) { results[compress(values[i])] = true; } return results; } T extract(int index) { return extractor[index]; } }; int main() { cin.tie(0); ios::sync_with_stdio(false); int NA, NB; cin >> NA >> NB; vector<int> A(NA, 0); vector<int> B(NB, 0); vector<int> all(NA + NB, 0); REP(i, NA) { cin >> A[i]; all[i] = A[i]; } REP(i, NB) { cin >> B[i]; all[NA + i] = B[i]; } Compressor<int> c(all); vector<bool> ia = c.compress_as_flag(A); vector<bool> ib = c.compress_as_flag(B); int x = 0; int y = 0; REP(i, c.size()) { if (ia[i] && ib[i]) { x++; } y++; } printf("%.10f\n", 1.0 * x / y); return 0; }
Submission Info
Submission Time | |
---|---|
Task | B - メタ構文変数 |
User | sinhrks |
Language | C++14 (GCC 5.4.1) |
Score | 100 |
Code Size | 2318 Byte |
Status | AC |
Exec Time | 170 ms |
Memory | 12800 KB |
Judge Result
Set Name | Sample | Subtask1 | Subtask2 | Subtask3 | ||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
Score / Max Score | 0 / 0 | 40 / 40 | 30 / 30 | 30 / 30 | ||||||||
Status |
|
|
|
|
Set Name | Test Cases |
---|---|
Sample | sample_01.txt, sample_02.txt |
Subtask1 | sample_01.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 |
Subtask2 | sample_01.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, subtask2_01.txt, subtask2_02.txt, subtask2_03.txt, subtask2_04.txt, subtask2_05.txt, subtask2_06.txt, subtask2_07.txt, subtask2_08.txt |
Subtask3 | sample_01.txt, sample_02.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, subtask2_01.txt, subtask2_02.txt, subtask2_03.txt, subtask2_04.txt, subtask2_05.txt, subtask2_06.txt, subtask2_07.txt, subtask2_08.txt, subtask3_01.txt, subtask3_02.txt, subtask3_03.txt, subtask3_04.txt, subtask3_05.txt, subtask3_06.txt, subtask3_07.txt, subtask3_08.txt |
Case Name | Status | Exec Time | Memory |
---|---|---|---|
sample_01.txt | AC | 1 ms | 256 KB |
sample_02.txt | AC | 1 ms | 256 KB |
subtask1_01.txt | AC | 1 ms | 256 KB |
subtask1_02.txt | AC | 1 ms | 256 KB |
subtask1_03.txt | AC | 2 ms | 384 KB |
subtask1_04.txt | AC | 2 ms | 384 KB |
subtask1_05.txt | AC | 2 ms | 384 KB |
subtask1_06.txt | AC | 2 ms | 384 KB |
subtask1_07.txt | AC | 2 ms | 384 KB |
subtask1_08.txt | AC | 2 ms | 384 KB |
subtask1_09.txt | AC | 1 ms | 256 KB |
subtask1_10.txt | AC | 2 ms | 384 KB |
subtask2_01.txt | AC | 48 ms | 4608 KB |
subtask2_02.txt | AC | 112 ms | 7680 KB |
subtask2_03.txt | AC | 41 ms | 3456 KB |
subtask2_04.txt | AC | 114 ms | 7680 KB |
subtask2_05.txt | AC | 28 ms | 3200 KB |
subtask2_06.txt | AC | 69 ms | 6528 KB |
subtask2_07.txt | AC | 92 ms | 6912 KB |
subtask2_08.txt | AC | 113 ms | 7680 KB |
subtask3_01.txt | AC | 93 ms | 8192 KB |
subtask3_02.txt | AC | 170 ms | 12800 KB |
subtask3_03.txt | AC | 25 ms | 2304 KB |
subtask3_04.txt | AC | 117 ms | 7680 KB |
subtask3_05.txt | AC | 83 ms | 7424 KB |
subtask3_06.txt | AC | 164 ms | 12800 KB |
subtask3_07.txt | AC | 97 ms | 8192 KB |
subtask3_08.txt | AC | 134 ms | 9728 KB |