2020 바 이 두 스타 1 차 전 2 차 전

14963 단어 알고리즘
Poker
Problem Description
            。

     n   ,           m   ,        p%   ,         。

        ,           ?

             x   ,        ⌊x×(1−p%)⌋   ,   ⌊a⌋    a    。
                     。

            。

Input
         test(1≤test≤100000)       。

      ,       n,m,p(1≤n≤100000,1≤m≤1000,1≤p≤100)

Output

Sample Input
2
10 2 50
10 2 100

Sample Output
9
5

생각:
  

코드:
#include
#include
#include
#include 
#include
using namespace std;
typedef long long ll;
int main() 
{
	int n,m,p,t;
	cin>>t;
	while(t--)
	{
		cin>>n>>m>>p;
		int x=m*p*0.01+(m*p%100!=0);//  m*p    , ++ 
		int ans=0;
		while(n>=m)
		{
			int cnt=n/m;//       
			n-=cnt*x;//       
			ans+=cnt;//     
		}
		cout<<ans<<endl;
	}
	
    return 0;
}


Distance
Problem Description
               。   n    ,  i            a[i],                  。

        ,                         ?

          P0=(x0,y0),  i         Pi=(xi,yi),      i,     dist(P0,Pi)=a[i],  ∑n−1i=1∑nj=i+1dist(Pi,Pj)dist(X,Y)      X    Y       。xi,yi         。

Input
         test(1≤test≤10)       。

      ,         n(1≤n≤100000)。

      n    ,  i     a[i](1≤a[i]1000000000)     i           。

Output
            ,   ∑n−1i=1∑nj=i+1dist(Pi,Pj)     。           。

Sample Input
2
2
3 5
5
1 2 3 4 5

Sample Output
2
20

생각:
                            ,   sum  

코드:
#include
#include
#include
#include
using namespace std;
typedef long long ll;
ll st[100005],a[100005];//    longlong
int main() 
{
	int n,m,t;
	scanf("%d",&t);
	while(t--)
	{
		cin>>m;
		for(int i=0;i<m;i++)
		scanf("%lld",&st[i]);
		sort(st,st+m);
		ll sum=0;
		for(int i=0;i<m-1;i++)
		{
			a[i]=st[i+1]-st[i];
		}
		for(int i=0;i<m-1;i++)
		{
			sum+=a[i]*(m-i-1)*(i+1);
		}
		printf("%lld
"
,sum); } return 0; }

좋은 웹페이지 즐겨찾기