Submission #1542993
Source Code Expand
#include <iostream> #include <vector> #include <map> #include <set> #include <queue> #include <deque> #include <stack> #include <algorithm> #include <cmath> #include <cstring> #include <complex> #include <iomanip> using namespace std; //typedef typedef vector<int> VI; typedef vector<VI> VVI; typedef vector<string> VS; typedef pair<int, int> PII; typedef long long ll; #define omajinai ios::sync_with_stdio(false);cin.tie(0) //container util #define ALL(a) (a).begin(),(a).end() #define RALL(a) (a).rbegin(), (a).rend() #define UNIQUE(a) (a).erase(unique((a).begin(),(a).end()),(a).end()) #define MP make_pair #define SZ(a) int((a).size()) #define EACH(i,c) for(auto i=(c).begin(); i!=(c).end(); ++i) #define EXIST(s,e) ((s).find(e)!=(s).end()) #define SORT(c) sort((c).begin(),(c).end()) //repetition #define FOR(i,a,b) for(int i=(a);i<(b);++i) #define REP(i,n) FOR(i,0,n) #define RFOR(i,b,a) for(int i=(b)-1;i>=(a);--i) #define RREP(i,n) RFOR(i,n,0) //clear memory #define CLR(a) memset((a), 0 ,sizeof(a)) //debug #define dump(x) cerr << "[L " << __LINE__ << "] " << #x << " = " << (x) << "\n"; #define X first #define Y second const int _N = 2e5; const long double PI = acos(-1); int x1,x2,yy1,yy2; int n; int cnt[_N]; int ins = 0; vector<PII> p; bool inside(int x, int y){ return x1 <= x && x <= x2 && yy1 <= y && y <= yy2; } int count(int i){ if(~cnt[i])return cnt[i]; if(!inside(p[i].X, p[i].Y)){ return cnt[i] = 0; } ins++; int c = 1; FOR(j, i+1, n){ if(p[j].Y > p[i].Y){ // right and top c += count(j); } } return cnt[i] = c; } int main() { cin >> x1 >> yy1 >> x2 >> yy2 >> n; //init REP(i, n)cnt[i] = -1; // int xk = 1, yk = 1; if(x1>x2&&yy1>yy2){ swap(x1,x2); swap(yy1,yy2); }else if(x1>x2){ x1*=-1;x2*=-1; xk=-1; }else if(yy1>yy2){ yy1*=-1;yy2*=-1; yk=-1; } REP(i, n){ int xx, yy; cin >> xx >> yy; p.push_back(MP(xx * xk, yy * yk)); } SORT(p); int M = 0; REP(i, n){ //count (right and top) s M = max(M,count(i)); } long double ans = ((x2-x1)+(yy2-yy1)) * 100; if(M==min((x2-x1),(yy2-yy1))+1){ ans += (M-1) * (5*PI - 20) - 20 + 10 * PI; }else{ ans += M * (5*PI - 20); } cout << fixed << setprecision(12) << ans << endl; return 0; }
Submission Info
Submission Time | |
---|---|
Task | C - Fountain Walk |
User | luma |
Language | C++14 (GCC 5.4.1) |
Score | 0 |
Code Size | 2337 Byte |
Status | WA |
Exec Time | 2104 ms |
Memory | 14192 KB |
Judge Result
Set Name | Sample | All | ||||||||
---|---|---|---|---|---|---|---|---|---|---|
Score / Max Score | 0 / 0 | 0 / 900 | ||||||||
Status |
|
|
Set Name | Test Cases |
---|---|
Sample | sample_01.txt, sample_02.txt, sample_03.txt |
All | sample_01.txt, sample_02.txt, sample_03.txt, sample_01.txt, sample_02.txt, sample_03.txt, subtask_1_01.txt, subtask_1_02.txt, subtask_1_03.txt, subtask_1_04.txt, subtask_1_05.txt, subtask_1_06.txt, subtask_1_07.txt, subtask_1_08.txt, subtask_1_09.txt, subtask_1_10.txt, subtask_1_11.txt, subtask_1_12.txt, subtask_1_13.txt, subtask_1_14.txt, subtask_1_15.txt, subtask_1_16.txt, subtask_1_17.txt, subtask_1_18.txt, subtask_1_19.txt, subtask_1_20.txt, subtask_1_21.txt, subtask_1_22.txt, subtask_1_23.txt, subtask_1_24.txt, subtask_1_25.txt, subtask_1_26.txt, subtask_1_27.txt, subtask_1_28.txt, subtask_1_29.txt, subtask_1_30.txt, subtask_1_31.txt, subtask_1_32.txt, subtask_1_33.txt, subtask_1_34.txt, subtask_1_35.txt, subtask_1_36.txt, subtask_1_37.txt, subtask_1_38.txt, subtask_1_39.txt, subtask_1_40.txt, subtask_1_41.txt |
Case Name | Status | Exec Time | Memory |
---|---|---|---|
sample_01.txt | AC | 1 ms | 256 KB |
sample_02.txt | AC | 1 ms | 256 KB |
sample_03.txt | AC | 1 ms | 256 KB |
subtask_1_01.txt | AC | 1 ms | 256 KB |
subtask_1_02.txt | AC | 1 ms | 256 KB |
subtask_1_03.txt | AC | 1 ms | 256 KB |
subtask_1_04.txt | AC | 1 ms | 256 KB |
subtask_1_05.txt | AC | 1 ms | 256 KB |
subtask_1_06.txt | AC | 1 ms | 256 KB |
subtask_1_07.txt | AC | 1 ms | 256 KB |
subtask_1_08.txt | AC | 1 ms | 256 KB |
subtask_1_09.txt | WA | 73 ms | 1656 KB |
subtask_1_10.txt | WA | 155 ms | 2932 KB |
subtask_1_11.txt | WA | 40 ms | 1020 KB |
subtask_1_12.txt | TLE | 2104 ms | 12016 KB |
subtask_1_13.txt | WA | 165 ms | 3060 KB |
subtask_1_14.txt | WA | 75 ms | 1656 KB |
subtask_1_15.txt | WA | 38 ms | 1020 KB |
subtask_1_16.txt | TLE | 2104 ms | 12144 KB |
subtask_1_17.txt | WA | 135 ms | 1912 KB |
subtask_1_18.txt | WA | 114 ms | 1784 KB |
subtask_1_19.txt | WA | 456 ms | 1784 KB |
subtask_1_20.txt | TLE | 2104 ms | 12016 KB |
subtask_1_21.txt | TLE | 2104 ms | 12144 KB |
subtask_1_22.txt | TLE | 2104 ms | 14192 KB |
subtask_1_23.txt | TLE | 2103 ms | 3312 KB |
subtask_1_24.txt | AC | 1 ms | 256 KB |
subtask_1_25.txt | AC | 1 ms | 256 KB |
subtask_1_26.txt | AC | 1 ms | 256 KB |
subtask_1_27.txt | AC | 1 ms | 256 KB |
subtask_1_28.txt | WA | 1216 ms | 3188 KB |
subtask_1_29.txt | WA | 623 ms | 3188 KB |
subtask_1_30.txt | TLE | 2103 ms | 3188 KB |
subtask_1_31.txt | TLE | 2103 ms | 3188 KB |
subtask_1_32.txt | TLE | 2104 ms | 12016 KB |
subtask_1_33.txt | TLE | 2104 ms | 7408 KB |
subtask_1_34.txt | TLE | 2103 ms | 3188 KB |
subtask_1_35.txt | TLE | 2103 ms | 3188 KB |
subtask_1_36.txt | TLE | 2103 ms | 3188 KB |
subtask_1_37.txt | TLE | 2104 ms | 9328 KB |
subtask_1_38.txt | TLE | 2104 ms | 7408 KB |
subtask_1_39.txt | TLE | 2104 ms | 5872 KB |
subtask_1_40.txt | TLE | 2104 ms | 7408 KB |
subtask_1_41.txt | TLE | 2103 ms | 3188 KB |