28 条题解

  • 0
    @ 2026-2-12 16:04:05
    using namespace std;
    long long n,s,ans,a[100000],r,l;
    int main()
    {
    cin>>n>>m;
    for(int i=1;i<=m;i++)cin>>a[i];	
    for(int i=1;i<=m-1;i++)
    for(int j=i+1;j<=m;j++)
    if(a[i]>a[i-1]) swap(a[i],a[j]);
    if()
    else
    {
    if(s>ans)
    {
    ans=s;
    r=i-1;
    l=i-s;
    }
    s=1;
    }                ,ans+=x,x=ans
    cout<<ans<<' '<<l<<' '<<r;
    }
    
    • 0
      @ 2026-2-12 8:25:05

      • 0
        @ 2026-1-26 15:45:43
        #include <bits/stdc++.h>
        using namespace std;
        int n,m,x,a[17891];
        int main()
        {
        	cin>>n>>m;
            for(int i=1;i<=m;i++)
            {
                cin>>x;
                a[x]+=i;
            }
            for(int i=0;i<=n-1;i++) cout<<a[i]<<' ';
        	return 0;
        }
        
        • 0
          @ 2026-1-19 17:02:08
          #include<bits/stdc++.h>
          using namespace std;
          long long n,f[900];
          int main()
          {
              cin>>n;
              f[1]=1;
              f[2]=3;
              for(int i=3;i<=n;i++)
                  f[i]=f[i-1]+f[i-2]*2;
              cout<<f[n];
          }
          
          • 0
            @ 2026-1-19 16:28:45
            #include<bits/stdc++.h>
            using namespace std;
            long long x,n,k,a[2010],b[2010],c[2010];
            int main()
            {
            cin>>x>>n;
            for(int j=1;j<=n;j++)
            {
            a[j]=x;
            for(int i=1;i<=2001;i++)
            {
            c[i]=a[i]+c[i]+k;
            k=c[i]/10;
            c[i]%=10;
            }
            }
            n++;
            while(c[n]==0&&n>1) n--;
            for(int i=n;i>=1;i--) cout<<c[i];
            return 0;
            }
            
            • 0
              @ 2026-1-15 16:26:10
              #include<bits/stdc++.h>
              using namespace std;
              int t,k,l,r,mid,ans,s;
              int f(int t)
              {
                 int s=5,ans=0;
                 while(t>=s)
                 {
                    ans+=t/s;
                    s*=5;
                 }
                 return ans;
              }
              int main()
              {
                 cin>>t;
                 for(int i=1;i<=t;i++)
                 {
                    cin>>k;
                    l=1,r=5*k;
                    ans=0;
                    while(l<=r)
                    {
                       mid=(l+r)/2;
                       s=f(mid);
                       if(s==k)
                       {
                          ans=mid/5*5;
                          break;
                       }
                       else if(s>k) r=mid-1;
                            else l=mid+1;
                    }
                    if(ans==0) cout<<"impossible"<<endl;
                    else cout<<ans<<endl;
                 }
                 return 0;
              }
              
              • 0
                @ 2026-1-13 16:55:44
                #include<bits/stdc++.h>
                using namespace std;
                long long n,m,a[100010],b[100010],mid,l,r;
                int main()
                {
                    cin>>n>>m;
                    for(int i=1;i<=n;i++) cin>>a[i];
                    for(int i=1;i<=m;i++) cin>>b[i];
                    sort(a+1,a+n+1);
                    sort(b+1,b+1+m);
                    for(int i=1;i<=m;i++)
                    {
                        bool p=0;
                        l=1;
                        r=n;
                        while(l<=r)
                        {
                            mid=(l+r)/2;
                            if(b[i]==a[mid])
                            {
                                p=1;
                                break;
                            }
                            else if(a[mid]<b[i]) l=mid+1;
                                else r=mid-1;
                        }
                        if(p) cout<<b[i]<<' ';
                    }
                    return 0;
                }
                
                • 0
                  @ 2026-1-12 16:16:59
                  
                  

                  struct st { long long x,y,s; } a[40000];

                  
                  
                  • 0
                    @ 2026-1-12 16:00:11
                    #include <bits/stdc++.h>
                    using namespace std;
                    int v,m,n,maxn=-91789178,c[10100],f[10100],a[10100],b[10100];
                    int main()
                    {
                    	cin>>v>>n>>m;
                    	for(int i=1;i<=n;i++) cin>>c[i]>>f[i];
                    	for(int i=1;i<=n;i++)
                        {
                    		for(int j=1;j<=m;j++)
                            {
                    			if(j<f[i]) 
                    				b[j]=a[j];
                    			else 
                    				b[j]=max(a[j],c[i]+a[j-f[i]]);
                    			if(b[j]>=v) 
                    				maxn=max(maxn,m-j);
                    		}
                    		for(int j=1;j<=m;j++) a[j]=b[j];
                    	}
                    	if(maxn==-91789178) cout<<"Impossible";
                    	else cout<<maxn;
                    	return 0;
                    }
                    
                    • 0
                      @ 2026-1-6 16:31:30
                      #include<bits/stdc++.h>
                      using namespace std;
                      int n,a[10000],f[10000],maxx;
                      int main()
                      {
                         cin>>n;
                         for(int i=1;i<=n;i++) cin>>a[i];
                         for(int i=1;i<=n;i++)
                         {
                            int maxn=0;
                            for(int j=1;j<=i-1;j++) if(a[i]>a[j]) maxn=max(f[j],maxn);
                            f[i]=maxn+1;
                            maxx=max(maxx,f[i]);
                         }
                         cout<<maxx;
                         return 0;
                      }
                      
                      • 0
                        @ 2026-1-5 16:34:32
                        
                        

                        #include<bits/stdc++.h> using namespace std; long long n,m,f[278][19178],a[178]; int main() { cin>>n>>m; for(int i=1;i<=n;i++) cin>>a[i]; for(int i=0;i<=n;i++) f[i][0]=1; for(int i=1;i<=n;i++) for(int j=1;j<=m;j++) { if(a[i]>j) f[i][j]=f[i-1][j]; else f[i][j]=f[i-1][j]+f[i-1][j-a[i]]; } cout<<f[n][m]; return 0; }

                        
                        
                        • 0
                          @ 2025-12-29 16:52:45
                          #include<bits/stdc++.h>
                          using namespace std;
                          int fx[5]={0,-1,1,0,0},fy[5]={0,0,0,-1,1},n,m,ans=INT_MAX,x,y,p,f[1100][200];
                          char a[1100][200];
                          void sy(int x,int y,int s)
                          {
                          	if (a[x][y]=='*')
                          	{
                          		p=1;
                          		ans=min(ans,s);
                          		return;
                          	}
                          	for (int i=1;i<=4;i++)
                              {
                                  int tx=x+fx[i],ty=y+fy[i];
                          		    if (tx<=n&&tx>=1&&ty>=1&&ty<=m&&a[tx][ty]!='#')
                          			   if (s+1<f[tx][ty])
                          			   {
                          				   f[tx][ty]=s+1;
                          				   sy(tx,ty,s+1);
                          		       }
                              }
                          }
                          int main() 
                          {
                          	cin>>n>>m;
                          	for (int i=1;i<=n;i++)
                          		for (int j=1;j<=m;j++)
                          		{
                          			cin>>a[i][j];
                          			if (a[i][j]=='@') x=i,y=j;
                          			f[i][j]=INT_MAX;
                          		}
                          	sy(x,y,0);
                          	if (p==1) cout<<ans;
                          	  else cout<<"-1";
                          }
                          
                          • 0
                            @ 2025-12-29 16:52:17
                            #include<bits/stdc++.h>
                            using namespace std;
                            int fx[5]={0,-1,1,0,0},fy[5]={0,0,0,-1,1},h,w,s,maxs=INT_MIN;
                            char a[120][120];
                            bool f[120][120];
                            void sy(int x,int y)
                            {
                            	for (int i=1;i<=4;i++)
                            		if (x+fx[i]>=1&&y+fy[i]>=1&&x+fx[i]<=w&&y+fy[i]<=h&&a[x+fx[i]][y+fy[i]]=='.'&&f[x+fx[i]][y+fy[i]]==0)
                            		{
                            			f[x+fx[i]][y+fy[i]]=1;
                            			s++;
                            			sy(x+fx[i],y+fy[i]);
                            	    }
                            } 
                            int main() 
                            {
                            	cin>>h>>w;
                            	for (int i=1;i<=w;i++)
                            		for (int j=1;j<=h;j++) cin>>a[i][j];
                            	for (int i=1;i<=w;i++)
                            		for (int j=1;j<=h;j++) if (a[i][j]=='@') sy(i,j);
                            	cout<<s+1; 
                            }
                            
                            • 0
                              @ 2025-12-29 16:41:32
                              #include <bits/stdc++.h>
                              using namespace std;
                              long long n,x,s,ans,m,b[10000];
                              int main()
                              {
                              	cin>>n>>m;
                              	for(int i=1;i<=m;i++) cin>>x,b[x]=1;
                              	for(int i=1;i<=n;i+=2)
                                  {
                              		if(b[i]==0&&b[i+1]==0) s++;
                              		else if(b[i]==0||b[i+1]==0) ans++;
                              	}
                              	cout<<s<<endl<<ans;
                              	return 0;
                              }
                              
                              • 0
                                @ 2025-12-29 16:40:50
                                #include <bits/stdc++.h>
                                using namespace std;
                                string s;
                                int n;
                                int main()
                                {
                                	cin>>n;
                                	while(n)
                                    {
                                		s=char('A'+(n-1)%26)+s;
                                		n=(n-1)/26;
                                	}
                                	cout<<s;
                                	return 0;
                                }
                                
                                • 0
                                  @ 2025-12-29 15:22:19
                                  #include<bits/stdc++.h>
                                  using namespace std;
                                  long long s[20][2],ans=0,n;
                                  bool p[20]={false};
                                  void dfs(int k)
                                  {
                                      if(k>n)
                                      {
                                          ans++;
                                          return ;
                                      }
                                      int a=s[k][0];
                                      int b=s[k][1];
                                      if(!p[a])
                                      {
                                          p[a]=true;
                                          dfs(k+1);
                                          p[a]=false;
                                      }
                                      if(!p[b])
                                      {
                                          p[b]=true;
                                          dfs(k+1);
                                          p[b]=false;
                                      }
                                  }
                                  int main()
                                  {
                                      cin>>n;
                                      for(int i=1;i<=n;i++) cin>>s[i][0]>>s[i][1];
                                      dfs(1);
                                      cout<<ans;
                                      return 0;
                                  }
                                  
                                  • 0
                                    @ 2025-12-29 15:19:28
                                    #include<bits/stdc++.h>
                                    using namespace std;
                                    long long n,k,a[100],i,s,t;
                                    int main()
                                    {
                                        cin>>n>>k;
                                        t=n;
                                        i=2;
                                        while(n!=1&&s<k-1)
                                        {
                                            if(n%i==0) n/=i,s++,a[s]=i;
                                            else i++;
                                        }
                                        if(n>1)
                                        {
                                            cout<<t<<'=';
                                            for(int i=1;i<=k-1;i++) cout<<a[i]<<'*';
                                            cout<<n;
                                        }
                                        else cout<<"No answer!";
                                    }
                                    
                                    • 0
                                      @ 2025-12-25 17:04:52
                                      #include <bits/stdc++.h>
                                      using namespace std;
                                      int n,m,k,x,y,s,a[105][105];
                                      int main()
                                      {
                                      	cin>>n>>m>>k;
                                          for(int i=1;i<=m;i++)
                                          {
                                              cin>>x>>y;
                                              for(int j=max(y-2,1);j<=y+2;j++) a[x][j]=1;
                                              for(int z=max(x-2,1);z<=x+2;z++) a[z][y]=1;
                                              a[x-1][y-1]=1,a[x-1][y+1]=1,a[x+1][y+1]=1,a[x+1][y-1]=1;
                                          }
                                          for(int i=1;i<=k;i++)
                                          {
                                              cin>>x>>y;
                                              for(int j=max(x-2,1);j<=x+2;j++)
                                                 for(int z=max(y-2,1);z<=y+2;z++) a[j][z]=1;;
                                          }
                                          for(int i=1;i<=n;i++)
                                             for(int j=1;j<=n;j++) if(a[i][j]==0) s++;
                                          cout<<s;
                                      	return 0;
                                      }
                                      
                                      • 0
                                        @ 2025-12-25 15:36:14
                                        #include<bits/stdc++.h>
                                        using namespace std;
                                        long long n,a[200],x,ans=0,sum=0,s;
                                        bool f(int num,int x)
                                        {
                                            if(num==0&&x==0) return true;
                                            while(num>0){
                                                s=num%10;
                                                if(s==x) return true;
                                                num=num/10;
                                            }
                                            return false;
                                        }
                                        int main()
                                        {
                                            cin>>n;
                                            for(int i=1;i<=n;i++) cin>>a[i];
                                            cin>>x;
                                            for(int i=1;i<=n;i++)
                                            {
                                                if(f(a[i],x))
                                                {
                                                    ans++;
                                                    sum+=a[i];
                                                }
                                            }
                                            cout<<ans<<" "<<sum;
                                        }
                                        
                                        • 0
                                          @ 2025-12-22 16:10:39
                                          #include <bits/stdc++.h>
                                          using namespace std;
                                          int main()
                                          {
                                              cout<<0<<' '<<20<<endl;
                                              for(int i=1;i<=19;i++)
                                                  if((100-i*6)%5==0) cout<<i<<' '<<(100-i*6)/5<<endl;
                                              return 0;
                                          }
                                          

                                          信息

                                          ID
                                          103
                                          时间
                                          1000ms
                                          内存
                                          256MiB
                                          难度
                                          7
                                          标签
                                          递交数
                                          56
                                          已通过
                                          15
                                          上传者