#14956: Re:TLE= =


samisthegod (aaa878787)

學校 : 臺北市私立延平高級中學
編號 : 69075
來源 : [140.112.25.11]
最後登入時間 :
2023-11-14 14:31:16
d750. 11321 - Sort! Sort!! and Sort!!! -- UVa11321 | From: [59.115.243.156] | 發表日期 : 2018-08-20 23:52

#include<iostream>
using namespace std;
int main()
{
ios::sync_with_stdio(0);
int n,m,a[10000];
while(cin>>n>>m)
{
if(n==0 && m==0) {cout<<"0 "<<"0"; break;}
int i,j;
for(i=0;i<n;i++) cin>>a[i];
if(m!=0 && m!=1)
{
for(i=n;i>1;i--)
for(j=0;j<i-1;j++)
if(a[j]%m>a[j+1]%m) swap(a[j],a[j+1]);
for(i=n;i>1;i--)
for(j=0;j<i-1;j++)
{
if(a[j]%m==a[j+1]%m && a[j]%2<a[j+1]%2)
swap(a[j],a[j+1]);
}
for(i=n;i>1;i--)
for(j=0;j<i-1;j++)
{
if(a[j]%m==a[j+1]%m)
if(a[j]%2==1 && a[j+1]%2==1 && a[j]<a[j+1])
swap(a[j],a[j+1]);
else if(a[j]%2==0 && a[j+1]%2==0 && a[j]>a[j+1])
swap(a[j],a[j+1]);
}
}
else
{
for(i=n;i>1;i--)
for(j=0;j<i-1;j++)
{
if(a[j]%2<a[j+1]%2)
swap(a[j],a[j+1]);
}
for(i=n;i>1;i--)
for(j=0;j<i-1;j++)
{
if(a[j]%2==1 && a[j+1]%2==1 && a[j]<a[j+1])
swap(a[j],a[j+1]);
else if(a[j]%2==0 && a[j+1]%2==0 && a[j]>a[j+1])
swap(a[j],a[j+1]);

}
}
cout<<n<<" "<<m<<"\n";
for(i=0;i<n;i++)
cout<<a[i]<<"\n";
}
}

 

 

TLE了,該怎麼改呢......

 
ZeroJudge Forum