输出卡死求助
  • 板块P1167 刷题
  • 楼主JackYTY
  • 当前回复2
  • 已保存回复2
  • 发布时间2024/9/27 20:51
  • 上次更新2024/9/27 22:46:15
查看原帖
输出卡死求助
1294436
JackYTY楼主2024/9/27 20:51
#include<bits/stdc++.h>
#define l 16
using namespace std;
int main(){
    int k;
    cin>>k;
    int c[k];
    for(int i=0;i<k;i++)
    {
    	cin>>c[i]; 
	 }
    string a;
    string b;
    cin>>a;
    cin>>b;
    a[4]='0';a[7]='0';a[10]='0';a[13]='0'; 
	 b[4]='0';b[7]='0';b[10]='0';b[13]='0';
    int A[l],B[l]={0};
    for(int i=0;i<l;i++) 
        A[i]=a[l-1-i]-'0';
    for(int i=0;i<l;i++)
        B[i]=b[l-1-i]-'0';//字符串转数组 
//___________________________________________________________________________________    
    int n[4];
	 int n1[4];
	 int y[2];
	 int y1[2];
	 int r[2];
	 int r1[2];
	 int f[2];
	 int f1[2];
	 int m[2];
	 int m1[2];
    for(int i=0;i<l;i++){
        if(i>=0&&i<4){
            a[i]=n[i];
            b[i]=n1[i];
        }
        else if(i>4&&i<7){
            a[i]=y[i];
            b[i]=y1[i];
        }
        else if(i>7&&i<9){
            a[i]=r[i];
            b[i]=r1[i];
        }
        else if(i>9&&i<11) {
            a[i]=f[i];
            b[i]=f1[i];
        }
        else if(i>11&&i<13) {
            a[i]=m[i];
            b[i]=m1[i];
        }
        else
        {
        	i++;
		  }
    }//提取年数组 
//___________________________________________________________________________________
    
    int nian,nian1,yue,yue1,ri,ri1,fen,fen1,miao,miao1=0;
    nian+=n[0]*1000;nian+=n[1]*100;nian+=n[2]*10; nian+=n[3];nian1+=n1[0]*1000;nian1+=n1[1]*100;nian1+=n1[2]*10;nian1+=n1[3];
    yue+=y[0]*10;yue+=y[1];yue1+=y1[0]*10;yue1+=y1[1];
    ri+=r[0]*10;ri+=r[1];ri1+=r1[0]*10; ri1+=r1[1];
    fen+=f[0]*10;fen+=f[1];fen1+=f1[0]*10;fen1+=f1[1];
    miao+=m[0]*10;miao+=m[1];miao1+=m1[0]*10;miao1+=m1[1];//测出具体值 
//___________________________________________________________________________________
    unsigned long long ans,ans1=0;
    for(int i=0;i<nian;i++)
    {
    	if(i%4==0&&i%100!=0)
    	{
    		ans+=366;
		 }
		 else if(i%400==0)
		 {
		 	ans+=366;
		 }
		 else
		 {
		 	ans+=365;
		 }
	 }
	 for(int i=0;i<yue;i++)
	 {
	 	if(i==1||i==3||i==5||i==7||i==8||i==10||i==12)
	 	{
	 		ans+=31;
		 }
		 else if(i==2)
		 {
		 	ans+=28;
		 }
		 else
		 {
		 	ans+=30;
		 }
	 }
	for(int i=0;i<ri;i++)
	{
			ans++;
	 }
	 ans=ans*86400;
	 ans+=(fen*60);
	 ans+=miao;
	 for(int i=0;i<nian1;i++)
    {
    	if(i%4==0&&i%100!=0)
    	{
    		ans1+=366;
		 }
		 else if(i%400==0)
		 {
		 	ans1+=366;
		 }
		 else
		 {
		 	ans1+=365;
		 }
	 }
	 for(int i=0;i<yue1;i++)
	 {
	 	if(i==1||i==3||i==5||i==7||i==8||i==10||i==12)
	 	{
	 		ans1+=31;
		 }
		 else if(i==2)
		 {
		 	ans1+=28;
		 }
		 else
		 {
		 	ans1+=30;
		 }
	 }
	for(int i=0;i<ri1;i++)
	{
			ans1++;
	 }
	 ans1=ans1*86400;
	 ans1+=(fen1*60);
	 ans1+=miao1;
/*	=================================================================================
====================================================================================	 
====================================================================================
==================================================================================*/
	sort(c+0,c+k-1);
	int z=0;
	unsigned long long x=ans-ans1;
	for(int i=0;i<k;i++)
	{
		if(x-a[i]>=0)
		{
			x-=a[i];
			z++;
		}
		else
		{
			cout<<z;
			return 0;
		}
	}	 
    return 0;
}
2024/9/27 20:51
加载中...