Submission #714176
Source Code Expand
#include <string>
#include <vector>
#include <algorithm>
#include <numeric>
#include <set>
#include <map>
#include <queue>
#include <iostream>
#include <sstream>
#include <cstdio>
#include <cstdlib>
#include <cmath>
#include <ctime>
#include <cstring>
#include <cctype>
#include <cassert>
#include <limits>
#define rep(i,n) for(long long (i)=0;(i)<(long long)(n);++(i))
#define rer(i,l,u) for(int (i)=(int)(l);(i)<=(int)(u);++(i))
#define reu(i,l,u) for(int (i)=(int)(l);(i)<(int)(u);++(i))
#if defined(_MSC_VER) || __cplusplus > 199711L
#define aut(r,v) auto r = (v)
#else
#define aut(r,v) __typeof(v) r = (v)
#endif
#define PB push_back
using namespace std;
typedef vector<long long> vi; typedef pair<int, int> pii; typedef vector<pair<int, int> > vpii; typedef long long ll; typedef map<int, int> mii;
template<typename T, typename U> inline void amin(T &x, U y) { if(y < x) x = y; }
template<typename T, typename U> inline void amax(T &x, U y) { if(x < y) x = y; }
double volume(double r, double h) {
return r*r*h*M_PI/3.0;
}
double cut(double x, double r, double h, double a, double b){
if (x+h <= a || x >= b) {
return 0;
}
if (x >= a&&x+h<=b) {
return volume(r,h);
}
double vol = 0;
if (x>=a) {
vol += volume(r,h);
} else {
vol += volume(r*(x+h-a)/h,x+h-a);
}
if (x+h >= b) {
vol -= volume(r*(x+h-b)/h,x+h-b);
}
return vol;
}
int main(){
int n,q;
cin >> n >> q;
double x[n];
double r[n];
double h[n];
rep (i,n) {
cin >> x[i] >> r[i] >> h[i];
}
rep (i, q) {
double a,b,ans=0.0;
cin >> a >> b;
rep(j,n) {
ans+=cut(x[j],r[j],h[j],a,b);
}
printf("%.6f\n", ans);
}
return 0;
}
Submission Info
| Submission Time | |
|---|---|
| Task | B - 円錐 |
| User | akarii |
| Language | C++14 (GCC 5.4.1) |
| Score | 100 |
| Code Size | 1764 Byte |
| Status | AC |
| Exec Time | 6 ms |
| Memory | 256 KiB |
Judge Result
| Set Name | Sample | Subtask1 | ||||
|---|---|---|---|---|---|---|
| Score / Max Score | 0 / 0 | 100 / 100 | ||||
| Status |
|
|
| Set Name | Test Cases |
|---|---|
| Sample | sample_01.txt, sample_02.txt |
| Subtask1 | 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, 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 |
| Case Name | Status | Exec Time | Memory |
|---|---|---|---|
| sample_01.txt | AC | 4 ms | 256 KiB |
| sample_02.txt | AC | 4 ms | 256 KiB |
| subtask1_01.txt | AC | 5 ms | 256 KiB |
| subtask1_02.txt | AC | 4 ms | 256 KiB |
| subtask1_03.txt | AC | 5 ms | 256 KiB |
| subtask1_04.txt | AC | 5 ms | 256 KiB |
| subtask1_05.txt | AC | 4 ms | 256 KiB |
| subtask1_06.txt | AC | 5 ms | 256 KiB |
| subtask1_07.txt | AC | 4 ms | 256 KiB |
| subtask1_08.txt | AC | 4 ms | 256 KiB |
| subtask1_09.txt | AC | 4 ms | 256 KiB |
| subtask1_10.txt | AC | 4 ms | 256 KiB |
| subtask1_11.txt | AC | 5 ms | 256 KiB |
| subtask1_12.txt | AC | 5 ms | 256 KiB |
| subtask1_13.txt | AC | 5 ms | 256 KiB |
| subtask1_14.txt | AC | 5 ms | 256 KiB |
| subtask1_15.txt | AC | 5 ms | 256 KiB |
| subtask1_16.txt | AC | 5 ms | 256 KiB |
| subtask1_17.txt | AC | 5 ms | 256 KiB |
| subtask1_18.txt | AC | 5 ms | 256 KiB |
| subtask1_19.txt | AC | 6 ms | 256 KiB |
| subtask1_20.txt | AC | 5 ms | 256 KiB |
| subtask1_21.txt | AC | 6 ms | 256 KiB |
| subtask1_22.txt | AC | 6 ms | 256 KiB |
| subtask1_23.txt | AC | 6 ms | 256 KiB |
| subtask1_24.txt | AC | 6 ms | 256 KiB |
| subtask1_25.txt | AC | 5 ms | 256 KiB |
| subtask1_26.txt | AC | 6 ms | 256 KiB |
| subtask1_27.txt | AC | 5 ms | 256 KiB |
| subtask1_28.txt | AC | 6 ms | 256 KiB |
| subtask1_29.txt | AC | 6 ms | 256 KiB |
| subtask1_30.txt | AC | 6 ms | 256 KiB |
| subtask1_31.txt | AC | 6 ms | 256 KiB |
| subtask1_32.txt | AC | 6 ms | 256 KiB |
| subtask1_33.txt | AC | 5 ms | 256 KiB |
| subtask1_34.txt | AC | 5 ms | 256 KiB |
| subtask1_35.txt | AC | 5 ms | 256 KiB |
| subtask1_36.txt | AC | 5 ms | 256 KiB |
| subtask1_37.txt | AC | 5 ms | 256 KiB |
| subtask1_38.txt | AC | 5 ms | 256 KiB |
| subtask1_39.txt | AC | 5 ms | 256 KiB |