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
AC × 2
AC × 41
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