1104. Sum of Number Segments (20)
시간 제한
200 ms
메모리 제한
65536 kB
코드 길이 제한
16000 B
판정 절차
Standard
작자
CAO, Peng
Given a sequence of positive numbers, a segment is defined to be a consecutive subsequence. For example, given the sequence {0.1, 0.2, 0.3, 0.4}, we have 10 segments: (0.1) (0.1, 0.2) (0.1, 0.2, 0.3) (0.1, 0.2, 0.3, 0.4) (0.2) (0.2, 0.3) (0.2, 0.3, 0.4) (0.3) (0.3, 0.4) (0.4).
Now given a sequence, you are supposed to find the sum of all the numbers in all the segments. For the previous example, the sum of all the 10 segments is 0.1 + 0.3 + 0.6 + 1.0 + 0.2 + 0.5 + 0.9 + 0.3 + 0.7 + 0.4 = 5.0.
Input Specification:
Each input file contains one test case. For each case, the first line gives a positive integer N, the size of the sequence which is no more than 105. The next line contains N positive numbers in the sequence, each no more than 1.0, separated by a space.
Output Specification:
For each test case, print in one line the sum of all the numbers in all the segments, accurate up to 2 decimal places.
Sample Input:
4
0.1 0.2 0.3 0.4
Sample Output:
5.00
코드 커밋
http://www.patest.cn/contests/pat-a-practise/1104
수학 문제인데 시간 초과가 쉬워요. 입력할 때 바로 처리해야 돼요. 이중for는 안 돼요.
15분 코드:
#include <cstdio>
#include <cstdlib>
#include <vector>
#include <algorithm>
using namespace std ;
#define N 100001
int main()
{
//freopen("in.txt" , "r" , stdin) ;
int n , i , j ;
double a[N] ;
scanf("%d" , &n) ;
for(i = 0 ; i < n ; i++)
{
scanf("%lf" , &a[i]) ;
}
double sum = 0 ;
for(i = 0 ; i < n ; i++)
{
double sumTmp = 0 ;
for(j = n - i ; j >= 1 ; j --)
{
sumTmp += a[n - j] * j ;
}
sum += sumTmp ;
}
printf("%.2lf
" , sum) ;
return 0 ;
}
ac 코드:
#include <cstdio>
#include <cstdlib>
#include <vector>
#include <algorithm>
using namespace std ;
#define N 100001
int main()
{
//freopen("in.txt" , "r" , stdin) ;
int n , i , j ;
double a[N] ;
scanf("%d" , &n) ;
double sum = 0 ;
for(i = 0 ; i < n ; i++)
{
scanf("%lf" , &a[i]) ;
double sumTmp = a[i] * (n - i) *(i + 1) ;
sum += sumTmp ;
}
printf("%.2lf
" , sum) ;
return 0 ;
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.